Kotlin 자료
[Kotlin] 지연 초기화와 isInitialized 사용
SUN5066
2020. 12. 21. 10:24
반응형
보통 지연초기화라 함은
lateinit var strCode: String
이러한 코드를 생각할텐데.
정답이다.
무슨 말을 하고싶은거나면
class Wheel {
lateinit var strCode: String
fun initCode() {
strCode = "C001"
}
fun printCode() {
if (::strCode.isInitialized) println(strCode)
}
}
위 코드에서 isInitialized 함수를 설명하기 위함이다.
이 함수는 코틀린 표준 라이브러리에서 제공하는 함수로 지연 초기화 속성이 초기화되었는지 검사해 준다. 단, 이 함수를 선언할 때는 속성이 갖는 값이 아닌 참조를 전달해야 하므로 속성 이름 앞에 참조임을 나타내는 두 개의 콜론을 붙여야 함.
반응형