[kotlin] 널 초기화와 초기화 순서
개요
Kotlin은 널 초기화와 초기화 순서에 대해 다른 언어와는 다른 규칙을 가지고 있습니다. 널 초기화와 초기화 순서에 대한 이해는 안전한 코드를 작성하는 데 중요합니다.
널 초기화
Kotlin은 변수를 선언할 때 기본적으로 null 값을 허용하지 않습니다. 즉, 기본적으로 변수에는 null이 할당될 수 없습니다. 하지만 null 값을 허용하기 위해선 변수의 선언 시 ‘null’ 가능성을 명시해야 합니다.
var nullableString: String? = null // null이 허용되는 변수
var nonNullString: String = "Hello" // null이 허용되지 않는 변수
초기화 순서
Kotlin 클래스의 초기화 순서는 주 생성자, 초기화 블록, 프로퍼티 초기화 식, 초기화 블록 순으로 이루어집니다.
class Person(name: String, age: Int) {
val personName: String = name // 3. 프로퍼티 초기화 식
init {
// 2. 초기화 블록
println("Initializing person")
}
}
fun main() {
val person = Person("Alice", 30) // 1. 주 생성자
}
결론
Kotlin에서는 널 초기화와 초기화 순서에 대한 규칙을 명확하게 이해하는 것이 중요합니다. 이를 통해 안전하고 직관적인 코드를 작성할 수 있습니다.
위 내용은 Kotlin 공식 도큐먼트를 참고하여 작성되었습니다.