class Person{
lateinit var name: String
}
fun main()
{
val kildong = Person()
kildong.name = "Kildong"
}
lateinit을 이용하면 지연 초기화를 할 수 있다.
지연 초기화 하면 저렇게 kildong을 입력해 줄 때 초기화가 된다.
대신 var로 선언된 프로퍼티만 가능
val 을 사용하고 싶을 때는 lazy를 이용하면 된다.
class LazyTest{
val subject by lazy{
println("Lazy")
}
fun flow(){
println("Not yet")
println("subject : one : $subject") // 최초 초기화 시점 $subject에 의해 처음으로 subject 접근
}
}
fun main(){
val test = LazyTest() // 초기화 안됨
test.flow()
}
처음으로 subject에 접근 하면 최기화가 된다!
[Kotlin] 중첩 클래스 (0) | 2021.04.06 |
---|---|
[Kotlin] 인터페이스, 클래스 위임 // companion object (0) | 2021.04.06 |
[Kotlin] 클래스 게터 세터 (0) | 2021.04.01 |
[Kotlin] 이해못한코드 (0) | 2021.04.01 |
[Kotlin] break 과 라벨 함께 사용하기 (0) | 2021.03.30 |
댓글 영역