더북(TheBook)

널이 될 수 있는 타입을 역참조해도 NullPointerException이 발생하지 않도록 보장하는 가장 단순한 방법은 명시적으로 참조가 null인지 검사하는 것이다.

NullableTypes/ExplicitCheck.kt

import atomictest.eq

fun main() {
  val s: String? = "abc"
  if (s != null)
    s.length eq 3
}

명시적으로 if 검사를 수행하고 나면 코틀린이 널이 될 수 있는 객체를 참조하도록 허용해준다. 하지만 널이 될 수 있는 값을 다루는 일은 매우 흔하기 때문에 매번 이런 if 검사를 수행하면 너무 산만하고 어수선해진다. 코틀린은 이 문제를 해결할 간결한 구문을 제공한다. 이에 대한 내용은 뒷부분에서 다룰 것이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.