Convenience init
Updated:
🔷 Convenience init
Initialization - https://docs.swift.org/swift-book/LanguageGuide/Initialization.html
Convenience init 을 통해 기존 지정 생성자에 추가적으로 작업이 가능합니다.
class Friend {
var name: String
var age: Int
// 지정 생성자 메소드 designated initializer
init(name: String) {
self.name = name
self.age = 10
}
// 기존 생성자에 추가 작업하기 = convenience init
convenience init(name: String, age: Int) {
// !중요 convenience 생성자는 최소 지정 생성자 메소드 중 하나를 반드시 호출 해야 합니다
// 지정 생성자 호출
self.init(name: name)
// 추가적으로 원하는 설정
self.age = age
}
}
let myFriend = Friend(name: "철수")
print("\(myFriend.name) / \(myFriend.age)") // 철수 / 10
let bestFriend = Friend(name: "제임스", age: 30)
print("\(bestFriend.name) / \(bestFriend.age)") // 제임스 / 30
Reference
Swift Tip of the day - 스위프트 기초 문법 - https://spangle-wedelia-2dc.notion.site/Swift-Tip-of-the-day-c428bfd990674bcfa2a4973e5d08c4eb
꼼꼼한 재은 씨의 스위프트 문법편 - https://book.jacobko.info/#/book/1186710233
Leave a comment