1 분 소요

NULL 기본 문법

NULL을 변수에 사용할려면 명시적 변수 선언 뒤에 ? 를 추가해야한다

fun main() {
    var number: Int? = 10
    println(number)
}

아래 문법을 오류 문법 발생 한다

fun main() {
    var favoriteActor: String? = "Sandra Oh"
    println(favoriteActor.length)
}

Kotlin의 null 안전성 특성 덕분에 Kotlin 컴파일러가 null을 허용하는 유형에 관해 null 검사를 강제하므로 이러한 런타임 오류가 방지됩니다.

?. 안전 호출 연산자 사용

?. 안전 호출 연산자를 사용하여 null을 허용하는 변수의 메서드나 속성에 액세스할 수 있습니다.

fun main() {
    var favoriteActor: String? = null
    println(favoriteActor?.length)
}

null 아닌 어설션 연산자(!!) 사용

Assert (역설, 확인)

fun main() {
    var favoriteActor: String? = null
    println(favoriteActor!!.length)
}

NullPointerException 오류가 발생합니다.

?: Elvis 연산자 사용

fun main() {
    val favoriteActor: String? = "Sandra Oh"

    val lengthOfName = favoriteActor?.length ?: 0

    println("The number of characters in your favorite actor's name is $lengthOfName.")
}

요약

  1. 변수를 null로 설정하여 변수에 값이 없음을 나타낼 수 있습니다.
  2. null을 허용하지 않는 변수에는 null을 할당할 수 없습니다.
  3. null을 허용하는 변수에는 null을 할당할 수 있습니다.
  4. null을 허용하는 변수의 메서드나 속성에 액세스하려면 ?. 안전 호출 연산자나 null이 아닌 !! 어설션 연산자를 사용해야 합니다.
  5. if/else 문을 null 검사와 함께 사용하여 null을 허용하지 않는 컨텍스트에서 null을 허용하는 변수에 액세스할 수 있습니다.
  6. if/else 표현식을 사용하여 null을 허용하는 변수를 null을 허용하지 않는 유형으로 변환할 수 있습니다.
  7. null을 허용하는 변수가 null인 경우 if/else 표현식 또는 ?: Elvis 연산자로 기본값을 제공할 수 있습니다.

댓글남기기