아래 코드는 lateinit의 사용법이다.
fun main() {
lateinit var x : String
x = "Initialized"
println(x)
}
아래 코드는 by lazy의 사용법이다.
fun main() {
lateinit var inputValue : String
val x : Int by lazy { inputValue.length }
inputValue = "Initialized!"
println(x)
}
lateinit과 by lazy는 나중에 초기화 한다는 점은 같지만 lateinit은 var로만, by lazy는 val로만 선언된다는점이 다르다.
또한 by lazy는 초기화에 필요한 코드를 괄호{} 안에 해놓으면 다음에 해당 변수를 사용할때 괄호에 적어놓은 코드대로 호출시점에 최초 1회 초기화가 된다.
둘다 변수 선언시 null로 초기화 할 필요가 없으므로 메모리상 이득을 볼 수 있기 때문에 사용한다.
'프로그래밍 > Kotlin' 카테고리의 다른 글
[Kotlin] 콘솔에서 데이터 입력받는법 (0) | 2021.06.29 |
---|---|
사용자의 활동 상태를 알려주는 API (0) | 2021.06.29 |
안드로이드 액티비티 전환 (0) | 2021.06.24 |
코틀린 코딩 컨벤션 (0) | 2021.06.22 |
동일성, 동등성 ( ==, ===, equal() 차이) (0) | 2021.06.22 |
댓글