HIT해

[Swift 기초문법 - 36] Convenience init 본문

Swift/Swift 기초문법

[Swift 기초문법 - 36] Convenience init

힛해 2024. 8. 14. 07:24
728x90

Convenience init이란?

추가적인 생성자 정의

 

 

일반적인 Class init

class Friend {
	var name : String
    var age : Int
    
    // 클래스라서 생성자를 만들어주어야함
    init(name: String){
    	self.name = name
        self.age = 10
    }
}

let myFriend = Friend(name : "자우림")

 

 Convenience init

class Friend {
	var name : String
    var age : Int
    
    // 클래스라서 생성자를 만들어주어야함
    init(name: String){
    	self.name = name
        self.age = 10
    }
    convenience init(name : String, age: Int){
    	self.init(name:name)
        self.age = age
    }
}

//let myFriend = Friend(name : "자우림")
//myFriend.age // 10

let myFriend = Friend(name : "자우림", age : 25)
myFriend.age // 25

 

말그대로 추가적인 생성자이기때문애 기본값이 아니라 원한다면 다른 값을 입력할 수 있게 해준다!

 

정리하자면

오버라이딩 없이 쉽게 초기값을 생성할 수 있고 자동완성또한 가능하기때문애 개발속도 향상에 도움을 줄 수 있을 것 같다!