![[Kotlin] when문을 사용하여 다양하게 처리하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8wNC6%2FbtsuTNYF9Nh%2FBrbvnlvgBHmOMR31eJef00%2Fimg.png)
[Kotlin] when문을 사용하여 다양하게 처리하기legacy/Kotlin2023. 9. 21. 21:12
Table of Contents
코틀린에서 when절은 다른 언어에서 제공하는 switch-case문과 동일합니다.(코틀린도 제공) is 키워드와 in 키워드를 통해서 when문을 사용하는 코드를 알아봅시다.
기본적인 when문
코틀린도 다른 언어와 마찬가지로 switch-case와 동일한 기능인 when문을 제공합니다.
-> 기준으로 왼쪽은 a에 해당하는 값이고 오른쪽은 왼쪽 값이 true인 경우 실행할 코드입니다.
fun main() {
var a: Int = 10
when(a) {
10 -> println("a = 10")
else -> println("a != 10")
}
}
in과 is를 사용하는 when문
in 키워드의 경우 when문에서만 사용할 수 있는 것이 아닌 if-else문 등 다양하게 사용할 수 있습니다.
is 키워드는 자료형을 검사하는 키워드입니다.
fun main() {
var a: Int = 10
when(a) {
in 10..100 -> println("10 <= a <= 100")
!in 10..100 -> println("a는 10보다 작거나 100보다 크다")
is Int -> println("a의 자료형은 Int형이다.")
else -> println("아무 것도 해당하지 않는다.")
}
}
인자 값을 받지 않는 when문
인자값을 받지 않는 경우 when문내에서 다양하게 로직을 처리할 수 있습니다. 이는 마치 if-else문과 같습니다.
fun main() {
var a: Int = 10
when {
a is Int -> println("a는 Int타입이다")
a !is Int -> println("a는 Int타입이 아니다")
a in 10..100 -> println("10 <= a <= 100")
a >= 101 -> println("a는 100보다 크다.")
else -> println("아무것도 해당되지 않는다")
}
}
결론
when문은 다른 언어와 동일하게 조건문을 통해 특정 로직을 실행하는 문법이다.