개발여행일지~
지연초기화 본문
변수나 상수의 값을 나중에 초기화할 수 있다!
- 코틀린은 클래스를 설계할 때 안정성을 위해 반드시 변수의 값을 초기화할것을 권장한다.
- 클래스를 설계할 때 초기의 값을 정의하기 난처해서 나중에 대입하기 위한 문법이다.
코틀린의 지연초기화 방법
- 코틀린은 지연초기화 또는 늦은초기화를 위해 lateinit, lazy 키워드를 활용한다.
- 변수는 lateinit으로 지연초기화해야한다.
- 상수는 lazy로 지연초기화해야한다.
지연초기화를 사용하는 이유
- 저사양으로 제한되어있는 환경에서 메모리를 더욱 효율적으로 사용가능하다.
예시)
- 변수의 지연초기화
- 기본 사용
- name변수 값을 초기에 정의하기 어렵기 때문에 lateinit을 사용한다.
- 고급 사용
- 변수를 사용하기전에 초기화되었는지 확인해야 안정성을 높일 수 있다.
- 상수의 지연초기화
- 상수를 사용하는 시점에 값을 대입하고 초기화가 수행된다.
- 기본 사용
fun main(){
var s1 = Student()
s1.name = "참새"
s1.displayInfo()
s1.age = 10
s1.displayInfo()
}
class Student {
lateinit var name:String
var age:Int = 0
val address: String by lazy {
println("address 초기화")
"seoul"
}
fun displayInfo() {
println("이름은: ${name} 입니다.")
println("나이는: ${age} 입니다.")
println("주소는: ${address} 입니다.")
}
}
'코틀린 공부정리' 카테고리의 다른 글
(Error:AndroidStudio Error) imageview의 이미지가 안보이는 현상 (0) | 2023.08.01 |
---|---|
널 세이프티 (null safety) (0) | 2023.07.25 |
예외 처리 (try-catch, throw의 구조) (0) | 2023.07.24 |
코틀린 4일차~! (메소드와 클래스, 생성자) (0) | 2023.07.20 |
코틀린 3일차 공부! (OCP, 객체의 결합도&응집도 정리) (0) | 2023.07.19 |