Notice
Recent Posts
Recent Comments
Link
- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Android
- 안드로이드
- 책추천
- ai
- 코틀린
- 학습지
- rxjava
- 진짜학습지
- 진짜일본어
- n3문법
- github
- jlpt
- 일본어문법
- coroutine
- 일본어기초
- GIT
- 인공지능
- Kotlin
- 책리뷰
- 진짜학습지후기
- PR
- webflux
- suspend
- CustomTab
- androidstudio
- errorhandling
- posting
- pullrequest
- KotlinInAction
- blog
Archives
코딩하는 개굴이
[Kotlin] Unit과 Nothing 본문
반응형
코틀린에는 return 하지 않아도 되는 반환 유형이 2가지 존재한다. Unit 과 Nothing 이 그것인데, 이 두개의 차이점에 대해 알아보도록 하자.
Unit 이란?
Kotlin 은 반환 유형을 지정하지 않는 경우 반환 유형이 기본적으로 Unit 이 된다. Unit은 Kotlin 에서 값을 반환하지 않음을 의미하며, java 의 void 와 동일하다.
fun returnUnitType1(): Unit {
//return 을 명시적으로 하지 않아도 된다.
}
fun returnUnitType2(): Unit {
return
}
fun returnUnitType3(): Unit {
return Unit
}
따라서, 위의 3 경우 다 무방하다.
Unit 을 반환하는 함수는 return을 생략한다고 해도 암묵적으로 Unit 타입의 객체를 return 하도록 되어있다.
Any의 서브 클래스이다. 또한, Unit 은 타입이면서 싱글톤 인스턴스이기 때문에, 매번 객체를 생성하지 않는다.
Nothing 이란?
Nothing은 어떠한 값도 없고, instance 도 없는 Type 에 해당한다. 따라서, 함수가 return 될 일이 아예 없고 정상 완료되지 않아 throw 되기만하는 경우에 사용된다.
fun infiniteLoop(): Nothing {
while(true) {
println("Loading")
}
}
fun throwException(): Nothing {
throw IllegalStateException()
}
//이외에도 TODO() 함수가 대표적인 Nothing Type에 해당한다.
참고 링크
반응형
'안드로이드 > KOTLIN' 카테고리의 다른 글
[Kotlin] 함수/람다 함수 내의 반환 return (0) | 2023.01.21 |
---|---|
[안드로이드] Coil 라이브러리로 이미지 로딩하기 (0) | 2023.01.08 |
[Kotlin IN ACTION] 코틀린 타입 시스템 (0) | 2021.04.11 |
[Kotlin IN ACTION] 클래스, 객체, 인터페이스 (0) | 2021.04.04 |
[Kotlin IN ACTION] 함수 정의와 호출 (0) | 2021.03.29 |
Comments