안녕하세요 !
이번에는 이니셜라이절를 주제로 포스팅해보려합니다
이니셜라이저는 새로운 인스턴스를 생성하고 초기화하는 메서드입니다
class Person {
let name: String
init(name: String) {
self.name = name
}
}
let person = Person(name: "Alice")
이 예제에서 init(name:)은 Person 클래스의 이니셜라이저입니다.
기본 이니셜라이저는 모든 프로퍼티가 기본값을 가지고 있을 때 자동으로 제공되는 이니셜라이저
struct Point {
var x = 0.0
var y = 0.0
}
let point = Point() // 기본 이니셜라이저 사용
init(name:)은 Person 클래스의 이니셜라이저
멤버와이즈 이니셜라이저는 구조체에서만 자동으로 제공되는 이니셜라이저
struct Size {
var width: Double
var height: Double
}
let size = Size(width: 10.0, height: 20.0) // 멤버와이즈 이니셜라이저 사용
복잡한 초기화 로직이 필요할 때 사용됨
class Temperature {
var celsius: Double
init(fahrenheit: Double) {
celsius = (fahrenheit - 32) / 1.8
}
}
let temp = Temperature(fahrenheit: 98.6)
구조체와 열거형에서는 다른 이니셜라이저를 호출하여 초기화 작업을 위임 가능
struct Rect {
var origin: Point
var size: Size
init() {
self.init(origin: Point(), size: Size(width: 0, height: 0))
}
init(origin: Point, size: Size) {
self.origin = origin
self.size = size
}
}
여기서 첫 번째 이니셜라이저는 두 번째 이니셜라이저에게 초기화를 위임합니다
이니셜라이저는 Swift에서 객체 생성과 초기화를 담당하는 중요한 요소이며 기본 이니셜라이저와 멤버와이즈 이니셜라이저는 간단한 초기화에 유용합니다
이상으로 포스팅 마무리 하겠습니다.
.
.
.
감사합니다.