반응형
[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
}
반응형
'IT > Kotlin' 카테고리의 다른 글
[Kotlin] 코틀린 lateinit property has not been initialized 에러 (0) | 2023.08.31 |
---|---|
[Kotlin] 코틀린 함수 (fun) 선언, 정의, 사용법, 코틀린 Unit (0) | 2023.07.10 |
[Kotlin] 코틀린 데이터 타입 Any, Nothing, 물음표(?) Nullable, Not NUll (0) | 2023.07.08 |
[Kotlin] 코틀린 변수 var, val, const (0) | 2023.07.04 |
[Kotlin] 코틀린 이란? 코틀린 특징, 코틀린 장점 (0) | 2023.07.03 |