Android/Kotlin
[Android/Kotlin] lateinit과 lazy
__JeongYeon
2022. 7. 3. 19:03
반응형
[모든 포스팅은 개인적 공부를 위해 작성된 글입니다]
- init : 초기값 셋팅
- lateinit : 늦게(나중에) 초기값 셋팅
- 초기값이 셋팅되지 않았을 때 호출 되면 에러 발생
- primitive type(기본형 타입)에는 사용 불가(예외적으로 String에는 사용 가능)
- 사용 권장x
- lateinit로 선언된 변수 사용하는 경우 사용하기 전에 반드시 초기화 해야 함
<lateinit 변수 초기화 여부 확인>
- ::변수명.isinitialized
<lateinit 사용 조건>
- 1. var 변수에만 사용 가능
- 2. null로 초기화 불가능
- 3. 해당 변수에 대한 getter/setter 정의 및 사용 금지
<lazy>
- lateinit과 비슷하지만 val 변수에만 사용 가능함(변경 불가능)
반응형