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 함수를 설명하기 위함이다.

이 함수는 코틀린 표준 라이브러리에서 제공하는 함수로 지연 초기화 속성이 초기화되었는지 검사해 준다. 단, 이 함수를 선언할 때는 속성이 갖는 값이 아닌 참조를 전달해야 하므로 속성 이름 앞에 참조임을 나타내는 두 개의 콜론을 붙여야 함.

반응형