코드 여행 일기

코틀린의 when 문: 다중 조건 처리의 강력한 도구 본문

kotlin

코틀린의 when 문: 다중 조건 처리의 강력한 도구

할짝개발자 2024. 5. 26. 02:29
728x90
반응형

코틀린(Kotlin)은 그 간결하고 현대적인 문법 덕분에 많은 개발자들 사이에서 인기를 얻고 있습니다.

코틀린을 배우는 과정에서 중요한 개념 중 하나가 바로 조건문입니다.

특히 when 문은 다중 조건을 처리하는 데 매우 유용한 도구입니다.

이번 포스트에서는 코틀린의 when 문과 그 사용 방법에 대해 자세히 알아보겠습니다.

 


 

기본 when 문

코틀린의 when 문은 여러 조건을 검사하고, 각 조건에 따라 다른 코드를 실행할 수 있습니다. 기본적인 형태는 다음과 같습니다:

val x = 2

when (x) {
    1 -> println("x는 1입니다.")
    2 -> println("x는 2입니다.")
    3 -> println("x는 3입니다.")
    else -> println("x는 1, 2, 3 중 하나가 아닙니다.")
}

 

위 코드에서 x의 값이 2이므로 "x는 2입니다."가 출력됩니다.

 

여러 조건을 한 번에 검사

when 문은 여러 조건을 콤마로 구분하여 한 번에 검사할 수 있습니다:

val x = 3

when (x) {
    1, 2 -> println("x는 1 또는 2입니다.")
    3, 4 -> println("x는 3 또는 4입니다.")
    else -> println("x는 1, 2, 3, 4 중 하나가 아닙니다.")
}

 

위 코드에서는 x가 3이므로 "x는 3 또는 4입니다."가 출력됩니다.

 

조건에 표현식 사용

when 문에서 조건으로 표현식을 사용할 수 있습니다:

val x = 15

when {
    x % 2 == 0 -> println("x는 짝수입니다.")
    x % 2 != 0 -> println("x는 홀수입니다.")
}

 

위 코드에서는 x가 15이므로 "x는 홀수입니다."가 출력됩니다.

 

when 문을 표현식으로 사용

when 문을 표현식으로 사용하여 값을 반환할 수 있습니다:

val x = 5

val description = when (x) {
    1 -> "하나"
    2 -> "둘"
    3 -> "셋"
    4 -> "넷"
    else -> "알 수 없는 값"
}

println("x는 $description 입니다.")

 

위 코드에서는 x가 5이므로 description에는 "알 수 없는 값"이 할당되고, "x는 알 수 없는 값 입니다."가 출력됩니다.

 

타입 검사와 스마트 캐스팅

when 문은 타입 검사와 스마트 캐스팅을 지원합니다:

fun describe(obj: Any): String =
    when (obj) {
        is Int -> "정수입니다."
        is String -> "문자열입니다. 길이는 ${obj.length}입니다."
        is Boolean -> if (obj) "참입니다." else "거짓입니다."
        else -> "알 수 없는 타입입니다."
    }

println(describe(123))         // 출력: 정수입니다.
println(describe("Hello"))     // 출력: 문자열입니다. 길이는 5입니다.
println(describe(true))        // 출력: 참입니다.
println(describe(3.14))        // 출력: 알 수 없는 타입입니다.

 

위 코드에서는 describe 함수가 다양한 타입의 객체를 받아서 그 타입에 따라 다른 설명을 반환합니다.

 

언제 when 문을 사용할까?

  • 여러 조건을 처리: 여러 조건을 간단하고 명료하게 처리하고 싶을 때 사용합니다.
  • 조건에 따른 값 반환: 조건에 따라 다른 값을 변수에 할당하거나 반환하고 싶을 때 유용합니다.
  • 타입 검사: 객체의 타입에 따라 다른 처리를 하고 싶을 때 사용합니다.

 

코틀린의 when 문은 다양한 조건을 간단하게 처리할 수 있는 강력한 도구입니다.

이를 통해 코드가 더욱 간결하고 읽기 쉽게 작성될 수 있습니다.

이 포스트가 코틀린의 when 문을 이해하는 데 도움이 되길 바랍니다. 

 
 
728x90
반응형