널이 될 수 있는 타입을 역참조해도 NullPointerException이 발생하지 않도록 보장하는 가장 단순한 방법은 명시적으로 참조가 null인지 검사하는 것이다.
NullableTypes/ExplicitCheck.kt
import atomictest.eq
fun main() {
val s: String? = "abc"
if (s != null)
s.length eq 3
}
명시적으로 if 검사를 수행하고 나면 코틀린이 널이 될 수 있는 객체를 참조하도록 허용해준다. 하지만 널이 될 수 있는 값을 다루는 일은 매우 흔하기 때문에 매번 이런 if 검사를 수행하면 너무 산만하고 어수선해진다. 코틀린은 이 문제를 해결할 간결한 구문을 제공한다. 이에 대한 내용은 뒷부분에서 다룰 것이다.