Kotlin / lateinit var /늦은 초기화 기법
2022. 4. 30. 22:25ㆍKotlin
Kotlin / lateinit var /늦은 초기화 기법
kotlin에서 val는 상수를 정의할 때 사용한다.
- 상수는 String같은 기본 자료형으로 사용이 가능하고 절대 변경할 수 없는 값(그렇다고 절대로 변경못하는 건 아니다)
- 클래스의 속성이나 함수의 지역 변수로는 사용이 불가능
그러다 lateinit var가 등장했다. 알쏭달쏭한 코딩의 세계...
val처럼 정의해놓고 코딩을 시작한다면 쉽겠지만 변수의 첫 상태를 정의하기 어려울 때가 있다고 한다.
val a = 객체처리 이게 어렵다면?
특히나 코틀린은 null 사용을 싫어해서 val a= null을 지양한다고 한다.
그때 사용하는 게 lateinit val
그래서 변수 값을 "나중에 초기화할께요!"라고 명시하는 게 latieint val이다.
fun main() {
lateinit var text: String
val result1 = 30
text = "Result : $result1"
println(text)
val result2 = 50
text = "Result : ${result1 + result2}"
println(text)
}
lateinit var text: String
위 코드는 "해로"님의 블로그에서 퍼왔다.
특징을 살펴보면
1. 먼저 lateinit var로 변수처리하고자 하는 것의 형태만 지정
lateinit var text: String
2. 그 다음 val로 변수의 값을 지정
val result1 = 30
3. 변수 값에 수정이 필요하다면 다시 변수 값도 지정해 줄 수 있다.
val result2 = 50
그렇다면 지금 공부하고 있는 코디에서 lateinit var의 변수값은 또 바뀔 수 있다는 가능성을 알 수 있다.
참고
'Kotlin' 카테고리의 다른 글
SQLite 데이터 베이스 구축 / SQLite란? /SQLite 접속하기/Android SDK Locations 경로 확인하기 (1) | 2022.03.29 |
---|---|
SD카드에서 파일 읽기 /SD Card permission (1) | 2022.03.24 |
res 레이아웃이 다를 때 / FindViewById/ 자바 코틀린 코드 에러 해결 (0) | 2022.03.23 |
setMultiChoiceItems / 다중 선택자/ 코틀린 멀티 초이스/ setSingleChoiceItems / 단일 선택자/ 싱글초이스 (0) | 2022.03.23 |
탭 호스트 (TAB HOST) 이해하기/ 탭호스트와 액션바의 차이/ 탭 호스트 중요점 (1) | 2022.03.21 |