[Kotlin] 코틀린 constructor vs init block Constructor 와 init코틀린에서는 class를 초기화 할때 두가지 방법을 제공합니다.constructor (생성자)를 이용하거나 init()을 사용하여 객체가 생성될때 필요한 초기화 작업을 할 수 있습니다. 그럼 어떤 순서로 두개가 초기화 될까요? 초기화 순서를 명시적으로 알고 있지 않으면 val로 정의한 함수에서 NPE가 발생하는 상황을 만날수도 있습니다.이런경우 IDE에서 아무런 warning이 발생하지 않을 수 있기 때문에 문제를 파악하기엔 더 어렵습니다. constructor, initializer코틀린에서 객체를 생성하면 초기화를 위한 코드들이 호출 되며, 아래와 같은 부분이 초기화 대상 입니다. Property initalizersval count: Int = 0 프로퍼트 선언과 동.. 개발이야기/Kotlin 7년 전
[Kotlin] 코틀린 class 생성자와 property 이 글은 Kotlin In Action을 참고 하였습니다.더욱 자세한 설명이나 예제는 직접 책을 구매하여 확인 하시기 바랍니다4.2 Class의 생성자와 property코틀린에는 주 생성자와(primary constructor)와 부생성자가(secondary constructor)가 존재합니다.주 생성자는 class 선언과 함께 선언하고, 부 생성자는 추가적인 생성자가 필요할때 사용합니다. 4.2.1 주 생성자와 초기화(init)class User(val nickname: String) 주 생성자는 클래스 선언과 함께 정의됩니다. class User constructor(_nickname: String) { val nickname: String init { nickname = _nickname } } c.. 개발이야기/Kotlin 7년 전