상수는 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)
}