kotlin 프로퍼티의 getter는 스마트캐스트가 안되고 final 프로퍼티는 되는 이유
이펙티브 코틀린 아이템1 에서 "값을 사용하는 시점에 따라서 다른 결과가 나올 수 있기 때문입니다" 와 함께 보여준 예제가 잘 와닫지 않아서 예제를 만들고 자바로 변환해봄 fun nameOrNullByRandom(): String? { return listOf(null, "huni").random() } val nameGetter: String? get() = nameOrNullByRandom() val nameFinalProperty: String? = nameOrNullByRandom() fun main() { if(nameGetter != null){ println(nameGetter!!.length) // 캐스팅 안됌 } if(nameFinalProperty != null){ println(nam..