init은 Swift의 초기화 이니셜라이저에요.
이 init은 클래스의 모든 프로퍼티가 초기화 될 수 있도록 해줘야합니당
class Person {
var name: String
var age: Int
var gender: String
init(name: String, age: Int, gender: String) {
self.name = name
self.age = age
self.gender = gender
}
}
이런식으로 말이죠
만약 init의 파라미터에서 클래스의 프로퍼티가 하나라도 빠지게 된다면 오류가 발생하게 됩니다.
(init은 클래스의 모든 프로퍼티를 초기화 될 수 있도록 해줘야하기 때문이조 !)
Convenience init은 보조 이니셜라이저
Convenience 클래스의 원래 이니셜라이저인 init을 도와주는 역할을 한다.
init의 파라미터 중 일부를 기본값으로 설정해서, Convenience init안에서 init을 호출하여 초기화를 진행할 수 있다.
class Person {
var name: String
var age: Int
var gender: String
init(name: String, age: Int, gender: String) {
self.name = name
self.age = age
self.gender = gender
}
convenience init(age: Int, gender: String) {
self.init(name: "zedd", age: age, gender: gender)
}
}