🆖 항상 모든 데이터가 존재 하지 않는다.
🆖 데이터 초기화 시 입력 순서가 변경될 수도 있다.
✅ 불필요한 생성자 제거
✅ 순서 상관 X
✅ 명시적
class Person(){
private val name: String
private val gender: String
private val hobby: String
private val phone: String
class Builder(){
var name = ""
var gender = ""
var hobby = ""
var phone = ""
fun setName(name:String): String{
this.name = name
retrun name
}
fun setGender(gender:String): String{
this.gender= gender
retrun gender
}
...
fun build(){
return Person(name, gender, hobby, phone)
}
}
}
val younghee: Person = Builder.setName("younghee").setGender("여").build()
val chulsu: Person = Builder.setName("chulsu").setGender("남").setPhone("010-0000-0000").build()