brunch

Kotlin Unit, Nothing

Kotlin Unit 와 Nothing 를 알아보자

by 이승현

Unit


`Unit` singleton instance 이자 Type (Java 의 `void` 에 대응하는 개념)

carbon.png


carbon (1).png


`Unit` 은 Java 의 `void` 와 두 가지 차이점이 있다.


1. Type 이면서 singleton instance 이다.

carbon (2).png


2. Any 의 서브 클래스이다.

carbon (3).png




Nothing


어떠한 값(value)도 없고, instance 도 없는 Type


carbon (4).png


carbon (5).png




Return 차이점


Unit : Return 동작은 하지만, 아무런 값도 return 하지 않겠다는 의미

carbon.png


Nothing : Return 동작 자체를 하지 않겠다는 의미

carbon (1).png
스크린샷 2021-03-17 오후 2.16.41.png


Nothing? : Return 동작 자체를 하지 않거나, null 을 return 한다는 의미

carbon (2).png
스크린샷 2021-03-17 오후 3.24.22.png




Nothing? 타입 추론


만약 변수가 `null` 로 정의되어 있고 타입이 선언되어 있지 않다면, `Nothing?` 타입으로 추론된다.

carbon (3).png
keyword
작가의 이전글Android D8, R8