[ Swift ] init과 convenience init

이숭인·2021년 7월 22일
0

[ Swift ]

목록 보기
2/13

init

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은 보조 이니셜라이저

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)
    }
}
profile
iOS Developer

0개의 댓글