[swift] 구조체의 초기화 방법
Swift에서 구조체를 초기화하는 방법에는 여러 가지가 있습니다. 기본적으로 구조체는 자체적으로 멤버와이즈 초기화자를 가지고 있어서, 각 속성을 초기화하는 데 사용할 수 있습니다. 또한 사용자 정의 초기화자를 만들어 추가적인 초기화 작업을 수행할 수도 있습니다.
멤버와이즈 초기화자를 통한 초기화
구조체의 모든 속성에 대해 값이 주어진 초기화할 때, 멤버와이즈 초기화자를 이용하여 간단하게 초기화할 수 있습니다.
struct Point {
var x: Int
var y: Int
}
let point = Point(x: 10, y: 20)
사용자 정의 초기화자를 통한 초기화
사용자 정의 초기화자를 사용하여 초기화 시 추가적인 작업을 수행할 수 있습니다. 예를 들어, 특정 조건을 검사하고 조건에 따라 속성을 초기화할 수 있습니다.
struct Size {
var width: Int
var height: Int
init?(width: Int, height: Int) {
guard width > 0 && height > 0 else { return nil }
self.width = width
self.height = height
}
}
if let size = Size(width: 10, height: 20) {
// size 초기화 성공
} else {
// size 초기화 실패
}
디폴트 초기화자를 통한 초기화
구조체가 모든 속성에 기본값을 가지고 있는 경우, 디폴트 값을 이용하여 초기화할 수도 있습니다.
struct Color {
var red = 0
var green = 0
var blue = 0
}
let color = Color()
Swift에서는 구조체의 초기화를 위해 다양한 방법을 제공하여, 속성에 대한 초기화 작업을 유연하게 다룰 수 있습니다.
참고 문헌: