코틀린의 when 문은 다양한 경우에 대한 분기 처리를 제공하는 강력하면서도 유연한 구문입니다. when은 Java의 switch 문을 대체하면서 더 많은 기능을 제공합니다. 아래에서 코틀린의 when 문에 대해 알아보겠습니다.
1. 기본 형태
val day = 3
when (day) {
1 -> println("월요일")
2 -> println("화요일")
3 -> println("수요일")
4 -> println("목요일")
5 -> println("금요일")
6, 7 -> println("주말")
else -> println("잘못된 날짜")
}
- when 키워드 다음에는 괄호 안에 검사할 값이 위치합니다.
- 각각의 분기는 ->로 시작하며, 해당 값에 대한 동작을 정의합니다.
- 여러 값에 대한 동작을 지정할 때는 쉼표로 분리합니다.
- else 블록은 위의 어떤 분기에도 해당하지 않을 때 실행됩니다.
2. 표현식으로 사용
when 문은 표현식으로도 사용할 수 있습니다.
val dayType = when (day) {
1, 2, 3, 4, 5 -> "평일"
in 6..7 -> "주말"
else -> "잘못된 날짜"
}
println(dayType)
when 블록의 마지막 문장이 when 표현식의 값이 됩니다.
3. 범위와 조건 사용
val score = 85
when {
score >= 90 -> println("A 학점")
score >= 80 -> println("B 학점")
score >= 70 -> println("C 학점")
score >= 60 -> println("D 학점")
else -> println("F 학점")
}
이러한 형태는 값이 아니라 조건을 검사하고자 할 때 유용합니다.
4. is 키워드를 사용한 타입 체크
val result: Any = "Hello"
when (result) {
is String -> println("문자열입니다.")
is Int -> println("정수입니다.")
else -> println("기타 타입입니다.")
}
is 키워드를 사용하여 변수의 타입을 체크할 수 있습니다.
5. 표현식과 문장
when 문은 표현식이기도 합니다. 이는 값을 반환할 수 있음을 의미합니다.
val dayType = when (day) {
1, 2, 3, 4, 5 -> "평일"
in 6..7 -> "주말"
else -> "잘못된 날짜"
}
println(dayType)
when 문이 값을 반환하면 해당 값은 dayType 변수에 할당됩니다.
when 문은 여러 가지 형태로 사용할 수 있어 다양한 상황에서 유연하게 적용할 수 있습니다. 이는 Java의 switch 문과 비교하면서 더 많은 기능을 제공하고 코드를 간결하게 작성할 수 있게 합니다.
With ChatGPT
'Kotlin > 포스팅' 카테고리의 다른 글
코틀린 for문 (0) | 2023.12.25 |
---|---|
코틀린 반복문 (0) | 2023.12.25 |
코틀린 if 문 (0) | 2023.12.24 |
코틀린 조건문 종류 (0) | 2023.12.24 |
코틀린 임포트 디렉티브 (0) | 2023.12.23 |