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

    NullableTypes/ExplicitCheck.kt

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

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

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