Kotlin 지연 초기화
Kotlin 지연 초기화 Kotlin은 변수를 선언할 때 값을 무조건 설정해야 하는데, 이를 지연시키는 것을 지연 초기화라고 한다. 변수 초기화 var v1 Kotlin: This variable must either have a type annotation or be initialized 코틀린은 변수를 초기화 하지 않고 그냥 선언만 하게 될 경우, 해당 변수에 어떤 타입이 들어올지 예상하지 못하므로, 타입을 기재를 해주던지, 초기화를 수행해주어야 한다. var v1:Int or var v1 = 100 으로 사용해주어야 한다. Property 초기화 main 함수 내에서는 타입만 지정해도 되지만, 클래스 내부에서는 변수가 Property 로 자동 지정이 되므로, 추상화또는 초기화를 해주어야 한다. fun main () { var a1:Int // No Error val obj = TestCalss1() } class TestCalss1{ var a1:Int // Error / Kotlin: Property must be initialized or be abstract } Kotlin: Property must be initialized or be abstract Class Init init 메서드를 통해서 변수 초기화를 할 수 있다. 그러나, 변수 선언시 타입은 명시 해주어야 한다. fun main () { val obj1 = TestCalss1() println ( "obj1.a1 : ${ obj1. a1 } " ) } class TestCalss1{ var a1 = 100 // 타입 생략이 가능하다 . var a2 // 타입 생략이 불가능 하다 . 타입을 추론하지 못하기 때문에 init { a2 = 100 } } lateinit var 로 선언된 변수의 초기화를 뒤로 미룰 수 있다. 변수의 값을 사용하기 전에 반드시 초기화가