이니셜라이저(Initializer) 초기화 과정을 직접 구현할 수 있다. 구현된 이니셜라이저는 새로운 인스턴스를 생성할 수 있는 특별한 메서드가 된다.
스위프트의 이니셜라이저는 반환 값이 없다. 이니셜라이저의 역할은 그저 인스턴스의 첫 사용을 위해 초기화하는 것뿐이다.
이니셜라이저는 func 키워드를 사용하지 않고 오로지 init 키워드를 사용하여 이니셜라이저 메서드임을 표현한다.
init 메서드 클래스, 구조체, 열거형 등의 구현부 또는 해당 타입의 익스텐션 구현부에 위치한다.
클래스, 구조체, 열거형의 기본적인 형태의 이니셜라이저
class SomeClass {
init() {
// 초기화할 때 필요한 코드
}
}
struct SomeStruct {
init() {
// 초기화할 때 필요한 코드
}
}
enum SomeEnum {
case someCase
init() {
// 열거형은 초기화할 때 반드시 case중 하나가 되어야 함.
self = .someCase
// 초기화할 때 필요한 코드
}
}