[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 공식 도큐먼트를 참고하여 작성되었습니다.