IT/Kotlin

[Kotlin] 코틀린 lateinit, lazy 키워드 초기화 미루기

바다, 2023. 7. 7. 10:53
반응형

[Kotlin 코틀린 초기화 미루기]
변수를 선언할 때 초기값을 할당할 수 없는 경우가 있다.
- > 나중에 값을 할당할 것을 컴파일러에게 알려주야 한다.
이러한 경우, lateinit 이나 lazy 키워드를 사용한다.
 
[Kotlin 코틀린 lateinit]
lateinit 이란
- 이후에 초기값을 할당할 것을 명시적으로 선언
lateinit으로 선언한 변수는 선언과 동시에 값을 할당하지 않아도 되지만,
모든 유형의 변수 선언에 사용할 수 없고, 아래의 규칙을 따라야 한다.
1. var 키워드로 선언한 변수만 사용할 수 있다.
   lateinit var date1: String // 성공
   lateinit val date2: String // 오류
 
2. int, Long, Short, Double, Float, Boolean, Byte 타입 사용할 수 없다.
   lateinit var date3: Int // 오류
 
[Kotlin 코틀린 lazy]
lazy
변수 선언문 뒤에 by lazy { } 형식으로 선언
변수가 최초로 이용되는 순간 중괄호로 묶은 부분이 자동으로 실행되어 초기값 할당.
여러 줄로 작성한다면 마지막 줄의 실행 결과가 변수의 초기값이 된다.
 
val date4: Int by lazy {
   10
}

반응형