Swift 기초 문법 - 40. Convenience init

정성윤·2023년 8월 12일
0

Swift 이론

목록 보기
42/64

스위프트에서 convenience init(= 추가생성자)은 초기화 과정을 더 편리하게 만들기 위해 사용되는 특별한 형태의 이니셜라이저입니다.

convenience init을 사용하여 다른 이니셜라이저를 호출하거나 기존의 이니셜라이저를 더 간결하게 구현할 수 있습니다.

기본적으로 convenience init은 동일한 클래스 내에서 다른 이니셜라이저를 호출하는 용도로 사용됩니다.

convenience init의 특징

1. convenience init은 반드시 같은 클래스 내에서 정의되어야 합니다.

2. convenience init은 다른 이니셜라이저를 호출해야 하며, 그렇지 않으면 에러가 발생합니다.

3. convenience init은 보조적인 역할을 하므로, 모든 속성을 초기화할 필요는 없습니다.

class Person {
    var name: String
    var age: Int
    
    init(name: String, age: Int) {
        self.name = name
        self.age = age
    }
    
    convenience init(name: String) {
        self.init(name: name, age: 0)  // 다른 이니셜라이저 호출
    }}
// 사용 예시
let person1 = Person(name: "Alice", age: 25)
let person2 = Person(name: "Bob")  // convenience init 사용

참고(출처) : 개발하는 정대리, 야곰(Swift5)

profile
이유있는 스위프트 개발자

0개의 댓글