코틀린의 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
'Kotlin > 포스팅' 카테고리의 다른 글
코틀린 enum 클래스의 공통 멤버 (0) | 2023.12.31 |
---|---|
코틀린 enum 클래스 사용자 멤버 정의 (0) | 2023.12.31 |
코틀린 이넘(enum) 클래스 (0) | 2023.12.31 |
코틀린 클래스 멤버인 확장 (0) | 2023.12.31 |
코틀린 영역 함수 (0) | 2023.12.31 |