아이템 13 - Unit? 을 리턴하지 말라
ds_chanin
·2022. 3. 25. 22:41
The type with only one value: the Unit object. This type corresponds to the void type in Java.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/
Unit은 공식문서에서 볼 수 있듯 한가지 값을 가질 수 있는 타입을 나타내는 객체이다. Java에서 void 와 비슷한 타입으로 볼 수 있다. (자바의 void 는 값을 가지지 않지만..)
Unit? 는 Unit 이나 null 값을 가질 수 있다. 그래서 이를 이상하게 사용하면 마치 Boolean 처럼 사용할 수 있다.
그렇게 사용하지마라 ~처럼 사용한다는 것 자체가 의도를 벗어난 행위를 하는것이다. 예측하기 어려운 오류를 만들 수 있고 이해하기 어렵다.
Boolean 처럼 사용하려면 아예 Boolean을 반환하도록 리팩토링을 하도록 하자.
'스터디 > 이펙티브코틀린' 카테고리의 다른 글
아이템 15 - 리시버를 명시적으로 참조하라 (0) | 2022.03.25 |
---|---|
아이템 14 - 변수 타입이 명확하지 않은 경우 확실하게 지정하라 (0) | 2022.03.25 |
아이템 12 - 연산자 오버로드를 할 때는 의미에 맞게 사용하라 (0) | 2022.03.25 |
아이템 11 - 가독성을 목표로 설계하라 (0) | 2022.03.25 |
아이템 10 - 단위 테스트를 만들어라 (1) | 2022.03.07 |