[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에서는 구조체의 초기화를 위해 다양한 방법을 제공하여, 속성에 대한 초기화 작업을 유연하게 다룰 수 있습니다.

참고 문헌: