Kotlin/포스팅

코틀린 enum 클래스 when식

짜집퍼박사(짜박) 2023. 12. 31. 11:57

코틀린의 enum class와 when 식을 함께 사용하면 강력하고 간결한 코드를 작성할 수 있습니다. when 식은 여러 값에 따라 다른 동작을 수행할 수 있는 표현식입니다. 이를 활용하여 enum class의 각 상수에 따라 다른 동작을 수행하는 코드를 작성할 수 있습니다.

아래는 when 식과 enum class를 함께 사용하는 예제입니다.

enum class Color {
    RED, GREEN, BLUE
}

fun getColorName(color: Color): String {
    return when (color) {
        Color.RED -> "Red"
        Color.GREEN -> "Green"
        Color.BLUE -> "Blue"
    }
}

fun main() {
    val redColor = Color.RED
    val colorName = getColorName(redColor)
    println("Color name: $colorName")
}

이 예제에서 when 식은 Color 열거형의 각 상수에 대해 다른 동작을 정의하고 있습니다. getColorName 함수는 Color 열거형을 받아 해당하는 색상 이름을 반환합니다.

또한, when 식은 다양한 형태로 사용될 수 있습니다. 아래는 몇 가지 when 식의 활용 예제입니다.

 

1. 값 비교

fun getDescription(color: Color): String {
    return when (color) {
        Color.RED -> "Warm color"
        Color.GREEN -> "Cool color"
        Color.BLUE -> "Calm color"
    }
}

 

2. 범위 검사

fun getTemperatureRange(color: Color): String {
    return when (color) {
        Color.RED, Color.ORANGE, Color.YELLOW -> "Warm colors"
        Color.GREEN, Color.BLUE -> "Cool colors"
    }
}

 

3. is 키워드 사용

fun handleColor(color: Color) {
    when (color) {
        is Color.RED -> println("Handling red color")
        is Color.GREEN -> println("Handling green color")
        is Color.BLUE -> println("Handling blue color")
    }
}

when 식은 다양한 패턴을 처리하며, 간결하고 가독성이 좋은 코드를 작성하는 데 도움이 됩니다.

 

With ChatGPT