Unit?
타입은 Unit
이나 null
만 가질 수 있다. 사실상 Boolean
처럼 쓸 수 있지만, 코드가 명확하지 않다.Unit?
을 리턴해서 성공/실패를 표현하면, 함수의 의도가 드러나지 않고 읽는 사람이 헷갈릴 수 있다.Unit
을 쓰거나 반환 타입을 생략하면 된다. nullable로 만들 필요가 없다.Unit?
을 리턴하지 말아야 하는가
Unit?
을 사용하면 함수가 실제로 어떤 의미를 가지는지 알기 어렵다. 성공/실패만 표현하고 싶으면 Boolean
을 쓰는 것이 더 명확하다.// 잘못된 예시: Unit?을 Boolean처럼 사용
fun verifyKey(key: String): Unit? { /* ... */ }
verifyKey(key) ?: return
// 올바른 예시: Boolean 사용
fun isCorrectKey(key: String): Boolean { /* ... */ }
if (!isCorrectKey(key)) return