코틀린

[코틀린 Kotlin] 조건식, 변수 값 비교에 따른 when 표현식

멋쟁휘개발자 2024. 9. 7. 00:03

when 표현식

  • when 표현식은 if 표현식과 유사하지만, 여러 조건을 더 간결하게 처리할 수 있습니다.
  • 조건을 직접 작성하는 when 표현식과 변수의 값을 비교하는 when 표현식 두 가지 방법이 있습니다.
  • when 표현식을 사용하면 코드의 가독성을 높이고, 복잡한 조건을 쉽게 처리할 수 있습니다.

1. 조건식에서 when 사용하기

특정 숫자의 값을 검사하고 각 경우에 맞는 출력을 하는 예시

기존 if 표현식

 
fun checkNumber(x: Int) {
    if (x > 0) {
        println("A positive number")
    } else if (x < 0) {
        println("A negative number")
    } else {
        println("The zero number")
    }
}

when 표현식으로 변환

 
fun checkNumber(x: Int) {
    when {
        x > 0 -> println("A positive number")
        x < 0 -> println("A negative number")
        else -> println("The zero number")
    }
}

 

2. 변수의 값을 비교하는 when 사용하기

특정 변수의 값에 따라 다양한 값을 반환

기존 if 표현식

fun checkNumber(x: Int): Int {
    return if (x == 0) {
        x + 5
    } else if (x == 10) {
        x - 5
    } else {
        x / 10
    }
}

when 표현식으로 변환

fun checkNumber(x: Int): Int {
    return when (x) {
        0 -> x + 5
        10 -> x - 5
        else -> x / 10
    }
}

 

 

그 외의 값에 대해서는 error 함수를 호출하여 에러 메시지를 포함한 예외를 발생

fun checkNumber(x: Int): Int {
    return when (x) {
        0 -> x + 5
        10 -> x - 5
        else -> error("Unexpected number: $x")
    }
}