-
lateinit / lazy 의 차이점Kotlin 2019. 10. 4. 21:07반응형
lateinit
- var 변수에서만 사용합니다.
- null 값으로 초기화 할 수 없습니다.
- 초기화 전에는 변수를 사용할 수 없습니다
- Int, Long, Double, Float (primitive type) 에는 사용할 수 없습니다.- 변수에 대한 setter/getter properties 정의가 불가능합니다.
lazy
- val 에서만 사용합니다.
- 호출 시점에 by lazy 정의에 의해서 초기화를 진행합니다.
- 초기화를 위해서는 함수명이라도 한번 적어줘야 합니다.
- lazy을 사용하는 경우 기본 Synchronized로 동작합니다.[참고링크]
https://thdev.tech/kotlin/2018/03/25/Kotlin-lateinit-lazy/
https://beomseok95.tistory.com/89
반응형'Kotlin' 카테고리의 다른 글
Kotlin Delegate Pattern (0) 2023.06.03 first-class, High-order function and inline funtion (0) 2023.05.02 kotlinOptions useIR 의 의미는? (0) 2021.12.17 Kotlin Spread Operator (코틀린 스프레드 연산자) (0) 2020.12.16 앱의 미래 : 선언적 UI 와 Kotlin MultiPlatform (Daniele Baroncelli) (0) 2020.12.15 Kotlin Cheat Sheet and Quick Reference (0) 2020.07.23 Kotlin SMA (single abstract method) Conversions (0) 2020.07.22 Introduction to Kotlin coroutines (0) 2019.10.10