본문 바로가기
Kotlin

Kotlin 중급 기초_초기화 지연

by A Coder's Daydream 2025. 1. 15.
SMALL

초기화 지연이란?

변수를 선언할 때 값을 지정하지 않고, 나중에 지정할 수 있는 방법을 말한다.

(원래 Kotlin에서는 변수를 선언할 때 값을 바로 할당하지 않으면 컴파일 에러가 난다.)

 

이 방법을 사용하는 목적은 주로 메모리를 효율적으로 사용하기 위해서, null safe한 value를 사용하기 위해서 주로 사용된다.

 

lateinit

  • var로 선언된 프로퍼티만 사용 가능하다.
  • type을 명시적으로 지정해야 한다.
  • 원시 타입은 사용 불가하다.
  • Non-null 타입만 사용 가능하다.
  • 초기화 전에는 변수 접근이 불가하다.
lateinit var text : String

fun main() {
	text = "안녕"
	println(text)
}

lazy

  • val로 선언된 프로퍼티만 사용 가능하다.
  • 선언과 동시에 초기화를 해야 한다.
  • type을 지정하지 않아도 된다.
  • 원시 타입도 사용 가능하다.
  • 호출 시점에 by lazy { ... } 에 정의해둔 블록 부분의 초기화가 진행된다.
val test : Int by lazy {
	100
}

fun main() {
	println(test)
}

'Kotlin' 카테고리의 다른 글

Kotlin 중급 기초_확장 함수  (1) 2025.01.15
Kotlin 중급 기초_람다 사용법  (0) 2025.01.15
Kotlin 기초_변수 사용법  (0) 2024.09.07
Kotlin 기초_함수 사용법(2)  (0) 2024.09.07
Kotlin 기초_함수 사용법(1)  (0) 2024.09.06