코틀린2 [Kotlin] 늦은 초기화 (lateinit, by lazy) 늦은 초기화 기법늦은 초기화 라 함은, 말 그대로 객체 초기화를 늦게 하는 것이다.예를 들어 분명 변수 a를 사용할 예정인데, a의 첫 상태를 정의하기 어려울 때 어떻게 하겠는가?그럼 우린 이렇게 할 수 있다.var a: String? = null그치만 어차피 이후에 분명 사용할 녀석인데 굳이 위험하게 초기 상태로 null을 사용해야할까?null 사용의 지양을 강조하는 코틀린 창시자들은 분노할 것이 뻔하다.. 왜 늦은 초기화를 쓰는가?Null 안정화코틀린은 기본적으로 null 값을 허용하지 않으므로, 해당 프로퍼티가 초기화된 이후에만 접근할 수 있도록 처리하는 것이 좋습니다. 늦은 초기화를 사용하면 nullable 프로퍼티를 사용할 필요가 없어지므로, 불필요한 null 처리를 줄일 수 있습니다.메모리 .. 2023. 8. 22. [Kotlin] 필드(Field)와 프로퍼티(Property) 들어가기 전에보통 객체지향 프로그래밍에서 클래스를 정의할 때 객체의 상태는 멤버변수 (필드)로, 행위는 메소드로 표현한다.그리고 멤버변수가 있으면 객체의 값을 설정하고 가져오는 메소드( setter / getter)가 동반되는 경우가 많다.코틀린에서는 이런 요소를 아우르는 프로퍼티라는 개념이 제공된다.Property = Fileld + Getter + Setter 프로퍼티 정의프로퍼티를 정의하는 전체 문법은 아래와 같다.(var/val) [: ] [= ] [] []var / val : 프로퍼티 선언을 위한 예약어.var : 초기화 후 값 변경이 가능한 프로퍼티val: 초기화 후 값 변경이 불가능한 프로퍼티propertyName: 프로퍼티명PropertyType: 프로퍼티 .. 2023. 8. 22. 이전 1 다음