Java를 쓰면서 가장 골치 아픈게 NPE 이다. null인 객체를 바로 사용하려면 Runtime 시에 NPE가 발생하기 때문에 사용 전에 항상 if로 null인지 여부를 검증해 주거나 Optional을 사용해야 하기 때문이다. 코틀린에서는 이러한 골치아픈 내용을 손쉽게 사용할 수 있도록 해준다. fun String.echo() { println(toUpperCase()) println(this) println(toLowerCase()) } fun safeOperation() { val s1: String? = "Howdy!" s1?.echo() val s2: String? = null s2?.echo() } 이렇게 하기 위해 사용하는 것이 '?.' 이다. null이 될 수 있는 객체 뒤에 '.' 대신에..