무단 도용 및 복제, 사용 저작권 안내
수업 목적 외에 모든 교안 자료를 무단으로 도용 (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 코드 블록을 사용한다.