[kotlin] 코틀린에서 람다식과 고차 함수를 사용하여 지연 초기화(lazy initialization)를 구현하는 방법
지연 초기화(lazy initialization)는 객체의 초기화를 필요한 시점까지 미루는 것을 말합니다. 코틀린에서는 람다식과 고차 함수를 사용하여 지연 초기화를 구현할 수 있습니다.
람다식을 사용한 지연 초기화
람다식을 사용하여 프로퍼티에 대해 지연 초기화를 구현할 수 있습니다.
val lazyProperty: String by lazy {
"I am a lazy initialized property"
}
이 예제에서 lazy
함수는 람다식을 인자로 받아 지연 초기화된 프로퍼티를 생성합니다. 처음으로 lazyProperty
에 접근할 때까지 람다식은 실행되지 않습니다.
고차 함수를 사용한 지연 초기화
고차 함수를 사용하여 커스텀하게 지연 초기화를 구현할 수도 있습니다.
fun doSomethingWithLazyInitialization(action: () -> String): String {
return action()
}
val result = doSomethingWithLazyInitialization {
"I am a lazily initialized result"
}
이 예제에서 doSomethingWithLazyInitialization
함수는 람다식을 인자로 받아 실행하고 결과를 반환합니다. 이를 통해 원하는 시점에 지연 초기화된 값을 반환할 수 있습니다.
코틀린에서는 람다식과 고차 함수를 통해 간편하고 유연하게 지연 초기화를 구현할 수 있습니다.
이상으로 코틀린에서 람다식과 고차 함수를 사용하여 지연 초기화하는 방법을 알아보았습니다.
위 내용은 Kotlin 공식 문서 및 Kotlin In Action을 참고하여 작성하였습니다.