Kotlin, 변수의 다양한 사용법

Yebali·2021년 8월 16일
0

약간의_Kotlin

목록 보기
18/19

lateinit

Kotlin은 변수 선언시 초기화를 하지 않으면 컴파일이 되지 않는다.
하지만 경우에 따라 초기화를 늦게 해야하는 경우도 생긴다.
이렇게 변수를 늦게 초기화 해주기 위한 키워드가 'lateinit'이다
단, 기본 자료형에는 사용할 수 없다는 제한이 있다

초기와 되었는지는 ::a.isInitialized 값을 확인하면 초기화 되었는지 확인 할 수 있다.

class LateInitSample {
    lateinit var text: String
    
    fun getLateInitText(): String {
        if (::text.isInitialized) {
            return text
        } else {
            return "default"
        }
    }
}

fun main() {        
    var a = LateInitSample()
    
    println(a.getLateInitText()) // detault 출력
    
    a.text = "new Text"
    println(a.getLateInitText()) // new Text 출력
}

lazy

변수를 사용하는 시점까지 초기화를 자동으로 늦춰주는 기능도 있다.
람다함수로 초기화됨으로 함수 안에 여러개의 구문이 들어 갈 수 있다.

fun main() {        
    
    val number : Int by lazy {
        println("변수 초기화 동작")
        7
    }
    
    println("코드를 시작합니다")
    println(number)
    println(number)
}
profile
머리에 다 안들어가서 글로 적는 중

0개의 댓글