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 변수에만 사용 가능함(변경 불가능)

반응형