SMALL
초기화 지연이란?
변수를 선언할 때 값을 지정하지 않고, 나중에 지정할 수 있는 방법을 말한다.
(원래 Kotlin에서는 변수를 선언할 때 값을 바로 할당하지 않으면 컴파일 에러가 난다.)
이 방법을 사용하는 목적은 주로 메모리를 효율적으로 사용하기 위해서, null safe한 value를 사용하기 위해서 주로 사용된다.
lateinit
- var로 선언된 프로퍼티만 사용 가능하다.
- type을 명시적으로 지정해야 한다.
- 원시 타입은 사용 불가하다.
- Non-null 타입만 사용 가능하다.
- 초기화 전에는 변수 접근이 불가하다.
lateinit var text : String
fun main() {
text = "안녕"
println(text)
}
lazy
- val로 선언된 프로퍼티만 사용 가능하다.
- 선언과 동시에 초기화를 해야 한다.
- type을 지정하지 않아도 된다.
- 원시 타입도 사용 가능하다.
- 호출 시점에 by lazy { ... } 에 정의해둔 블록 부분의 초기화가 진행된다.
val test : Int by lazy {
100
}
fun main() {
println(test)
}'Kotlin' 카테고리의 다른 글
| Kotlin 중급 기초_확장 함수 (1) | 2025.01.15 |
|---|---|
| Kotlin 중급 기초_람다 사용법 (0) | 2025.01.15 |
| Kotlin 기초_변수 사용법 (0) | 2024.09.07 |
| Kotlin 기초_함수 사용법(2) (0) | 2024.09.07 |
| Kotlin 기초_함수 사용법(1) (0) | 2024.09.06 |