Language/Kotlin
lateinit var와 lazy의 차이
Greensky0026
2021. 10. 17. 20:14
반응형
lateinit var
- var 변수에서만 사용합니다.null 값으로 초기화 할 수 없습니다.초기화 전에는 변수를 사용할 수 없습니다.
- Int, Long, Double, Float (primitive type) 에는 사용할 수 없습니다.
- 변수에 대한 setter/getter properties 정의가 불가능합니다.
lazy
- val변수에만 사용합니다.
- 호출 시점에 by lazy 정의에 의해서 초기화를 진행합니다.
- 초기화를 위해서는 함수명이라도 한번 적어줘야 합니다.
- lazy을 사용하는 경우 기본 Synchronized로 동작합니다.
반응형