채용 인터뷰 과정에서 필자의 친구는 “함수에서 Unit?을 리턴한다면, 그 이유는 무엇일까요?” 라는 질문을 받았다
Boolean이 true/false 를 갖는 것처럼, Unit?은 Unit, null이라는 값을 가질 수 있습니다
fun keyIsCorrect(key: String): Boolean = key.length > 5
fun verifyKey(key: String): Unit? = if (key.length > 5) null else Unit
if (!keyIsCorrect(key)) return
verifyKey(key) ?: return
지금까지 여러 코드를 보면서 Unit?을 쉽게 읽을 수 있는 경우는 거의 보지 못했고, 오해를 불러 일으키기 쉽다.
기본적으로 Unit?을 리턴하거나, 이를 기반으로 연산하지 않는 것이 좋다.
https://stackoverflow.com/questions/55953052/kotlin-void-vs-unit-vs-nothing