Search
📗

19강. 지연 초기화

무단 도용 및 복제, 사용 저작권 안내 수업 목적 외에 모든 교안 자료를 무단으로 도용 (URL 연결, 복제, 공유), 불법으로 복사하여 배포하는 것을 금지합니다. 꼭 지켜주세요!

1. 지연 초기화

Kotlin은 변수를 선언할 때 값을 무조건 설정해야 하는데 이를 지연 시키는 것을 지연 초기화라고 한다.

2. lateinit

var 로 선언된 변수의 초기화를 뒤로 미룰 수 있다.
변수의 값을 사용하기 전에 반드시 초기화가 이루어져야 한다.
val 로 선언된 변수는 오류가 발생한다.
lateinit var a3:String
Kotlin
복사

3. lazy

val로 선언된 변수는 lateinit으로 지연 초기화 하는 것이 불가능하다.
val로 선언된 변수는 lazy 코드 블록을 이용하면 되는데 이는 나중에 프로퍼티의 값을 셋팅해준다는 의미가 아닌 사용할 때 값을 초기화 한다는 의미를 가지고 있다.
val a4:String by lazy{ println("a4 init") "문자열4" }
Kotlin
복사

4. 학습 정리

정리
프로퍼티의 값을 나중에 셋팅할 때 지연 초기화를 사용한다.
var 변수는 lateinit을 사용한다.
val 변수는 lazy 코드 블록을 사용한다.