[kotlin] 지연계산과 Lazy 클래스 분석

2021. 6. 17. 10:40카테고리 없음

지연계산이란?

코틀린 언어는 즉시계산언어이다

이에따라

val x : Int = getValue()

fun gatValue(): Int {
    println("Return")
    return 5
}

위 코드를 실행하면 x를 사용하지 않아도 print문이 실행된다..

지연계산을 통해

val x : Int by lazy {
  println("할당")
  5
}

println(x)


// 할당
// 5

위 코드를 실행하면 모든 println(x) 코드를 지우고 실행하면 참조하고 있는 값이 없기때문에 아무 로그도 찍히지 않는다