[Kotlin] 코틀린에서 지연 초기화 사용 (by lazy, lateinit)
·
Kotlin
코드를 작성하다 보면 초기화를 지연시켜야 할 때가 있는데!코틀린의 경우 by lazy와 lateinit를 사용하여 lazy initialization을 할 수 있다고 한다이번 글에서는 각각에 대한 설명과 사용법 그리고 차이점에 대해 이야기해보려고 한다!✏️ by lazy란?by lazy는 변수를 지연 초기화하는 방법으로 변수가 처음 사용되는 시점에 초기화 된다덕분에 리소스를 절약할 수 있다는 장점이 있다 불변(val)으로 선언 ➡️ 초기화된 값은 변경할 수 없음스레드 안전(Thread-Safety)을 기본적으로 지원한 번만 초기화되며, 이후에는 캐싱된 값을 재사용클래스, 객체, 전역 변수 등 어디서든 사용 가능 🔸 사용법val myValue: String by lazy { println("Init..
[Kotlin] 불변성과 가변성(val, var, const)
·
Kotlin
✏️ val과 varKotlin에서는 변수 선언 시 val과 var 두 가지 키워드를 사용한다val: value → 읽기 전용 변수var: variable → 변경 가능한 변수🔸 val (불변 변수)읽기 전용 변수(read-only)변수에 값을 한 번만 할당 가능! 이후에는 값 변경 불가(자바의 final 키워드와 유사)val num1 = 1num1 = 2 // Error!🔸 var (가변 변수)값을 자유롭게 변경 가능한 변수상태를 변경하거나 재할당이 필요한 경우 사용var num1 = 1num1 = 2 // Ok!✏️ const와 val의 차이점 🔹 const컴파일 타임 상수로, 코드가 컴파일될 때 값 결정선언 시 반드시 초기화되어야 한다const val PI = 3.14PI = 3.15 // E..