코틀린을 사용할 때 최상위 선언 변수나 클래스의 멤버 변수의 경우 선언과 동시에 초기화를 해줘야한다.
하지만 lateinit과 lazy 키워드를 사용하면 초기화를 미룰 수 있다.
lateinit
lateinit을 사용한 변수는 선언과 동시에 초기화 하지 않아도 되지만 다음과 같은 규칙을 따라야한다.
- lateinit은 var으로 선언된 변수에만 사용할 수 있다.
- lateinit은 Int, Long, Short, Double, Float, Boolean, Byte 타입에는 사용이 불가하다.
lateinit var num1: Int // 성공
lateinit val num2: Int // 오류
lazy
lazy 키워드는 변수의 선언문 뒤에 by lazy{} 형식으로 선언하며 해당 변수가 처음으로 이용되는 순간
중괄호 안에 있는 부분이 자동으로 실행되고, 그 결과값으로 초기화된다.
var num1: Int by lazy{
println("lazy variable")
10
} // 성공 -> 해당 변수는 10으로 초기화'Languages > Kotlin' 카테고리의 다른 글
| [Kotlin] 함수의 선언 (0) | 2023.03.13 |
|---|---|
| [Kotlin] 널 허용과 불허용(Nullable and Non-null) (0) | 2023.03.09 |
| [Kotlin] 데이터 타입 (0) | 2023.03.09 |
| [Kotlin] 변수의 선언과 초기화 (0) | 2023.03.08 |
| [Kotlin] Kotlin에 대하여 (0) | 2023.03.08 |
댓글