Kotlin/포스팅

코틀린 when 문

짜집퍼박사(짜박) 2023. 12. 24. 19:41

코틀린의 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