당신이 코틀린을 사용한다면?
SingleTon
Builder
data class Bronze (
private val mental:Int,
private val useChamp:Int,
private val nickName:String,
private val tier:String?=null,
private val mostChamp:ArrayList<String>){
fun setHideTier(check:Boolean) {
if(check==true){
tier= "미공개"
}else{
this.tier=tier
}
}
fun showInfo(): Bronze {
return Bronze(mental,useChamp,nickName, tier, mostChamp)
}
}
fun main() {
val you = Bronze(50,20,"브론즈","브론즈1",
arrayListOf("신드라","조이","애니비아","오리아나"))
you.setHideTier(false)
println(you.showInfo())
}
재미로 쓴 글입니다.
SingleTon
인스턴스가 오직 한번 생성돼서 사용할때 적용하는 패턴
ex) android context, Room DB
JAVA 코드가 호출될때 인스턴스 생성
Kotlin 프로세스가 시작될 때 인스턴스 생성
by lazy를 이용하면 호출될 때 초기화 가능
val singleTonString by lazy{"호출 시 초기화"}
제가 깊이가 없어서 코틀린 Builder 패턴 같은 경우 사용해본 적이 없지만 (retrofit, glide 이런 거 제외) 특수한 상황에는 사용한다고 하네요.
참조 https://medium.com/@vicidroiddev/using-builders-in-kotlin-data-class-e8a08797ed56