본문 바로가기

nullable

(2)
코틀린(Kotlin) - 타입 파라미터의 null 가능성 코틀린에서는 함수나 클래스의 모든 파라미터는 null이 될 수 있습니다. 따라서 타입 파라미터 T를 클래스나 함수 안에서 사용하면 변수명 끝에 물음표가 없더라도 T가 null이 될 수 있는 타입입니다. /* null이 될 수 있는 타입 파라미터 예제 */ fun printHashCode(t: T) { println(t?.hashCode()) //"t"가 null이 될 수 있으므로 안전한 호출을 사용 } >>> printHashCode(null) //"T"의 타입은 "Any?"로 추론된다. null 위의 예제 printHashCode 함수 호출에서 타입 파라미터 T에 대해 추론한 타입은 null이 될 수 있는 Any? 타입으로 추론이 되었습니다. t 파라미터의 타입 T에는 분명히 물음표가 붙어있지 않지만 ..
코틀린(Kotlin) - 타입 시스템 null 가능성 safe call(?.) elvis(?:) 코틀린에서 가장 중요한 부분인 타입 시스템(type system)을 살펴보도록 하겠습니다. 자바와 비교했을 때 코틀린의 타입 시스템은 코드의 가독성을 향상시키는 데 도움이 되는 몇 가지 특성이 있습니다. 그런 특성으로, null이 될 수 있는 타입(nullable type) 과 읽기 전용 컬렉션이 있습니다. null 가능성 null 가능성은 NullPointerException(NPE) 을 피할 수 있는 코틀린 타입 시스템의 특성입니다. NullPointerException 은 앱을 중지 시킬 정도로 굉장히 크리티컬 해서 사용자와 개발자 모두를 당황시키는 존재죠...😨😱 코틀린을 비롯한 최신 언어에서는 이런 null에 대한 이슈를 해결하기 위해, null이 될 수 있는 여부를 타입 시스템에 추가함으로써 ..