37
널이 될 수 있는 타입
경우에 따라 ‘결과가 없는’ 함수를 생각해보자. 이런 일이 발생해도 함수는 자체적으로 오류를 발생시키지 않는다. 아무 문제가 없다. 단지 ‘값 없음’일 뿐이다.
좋은 예로 Map에서 값을 얻는 경우를 들 수 있다. 주어진 키에 해당하는 값이 Map에 없다면, 답을 돌려줄 수 없기 때문에 ‘값 없음’을 뜻하는 null 참조를 돌려준다.
NullableTypes/NullInMaps.kt
import atomictest.eq
fun main() {
val map = mapOf(0 to "yes", 1 to "no")
map[2] eq null
}