코틀린(Kotlin)에서 enum class는 열거형을 정의하는 데 사용되는 특별한 형태의 클래스입니다. 자바(Java)에서의 열거형과 비슷하지만 몇 가지 차이가 있습니다. 코틀린의 enum class는 강력하면서도 유연한 열거형을 정의하는 데 도움이 됩니다.
아래는 간단한 코틀린 enum class의 예제입니다.
enum class Color {
RED, GREEN, BLUE
}
이 예제에서 Color는 enum class이며, 이넘 상수로 RED, GREEN, BLUE가 있습니다.
1. 값과 메서드 추가
코틀린의 enum class는 각 열거형 상수에 값을 할당할 수 있으며, 각 상수에 메서드를 추가할 수도 있습니다.
enum class Color(val rgb: Int) {
RED(0xFF0000),
GREEN(0x00FF00),
BLUE(0x0000FF);
fun toHexString(): String {
return Integer.toHexString(rgb)
}
}
이 예제에서는 Color 열거형이 정수 RGB 값을 가지고 있으며, toHexString라는 메서드를 사용하여 RGB 값을 16진수 문자열로 변환하는 메서드를 추가했습니다.
2. 속성과 메서드의 사용
이제 Color 열거형을 사용하는 방법을 살펴보겠습니다.
fun main() {
val redColor = Color.RED
println("Red color RGB: ${redColor.rgb}")
println("Red color Hex: ${redColor.toHexString()}")
}
위의 예제에서는 Color.RED를 사용하여 Color 열거형의 하나의 상수를 얻고, 그 상수의 속성과 메서드를 사용하여 정보를 출력하고 있습니다.
3. when 표현식과 열거형
when 표현식은 코틀린에서 switch와 유사하게 동작하며, enum class와 함께 사용될 때 매우 유용합니다.
fun getColorName(color: Color): String {
return when (color) {
Color.RED -> "Red"
Color.GREEN -> "Green"
Color.BLUE -> "Blue"
}
}
이 함수는 Color 열거형을 입력으로 받아 해당하는 색상 이름을 반환합니다.
이렇게 코틀린의 enum class를 사용하면 코드를 더 간결하고 안전하게 작성할 수 있습니다.
With ChatGPT
'Kotlin > 포스팅' 카테고리의 다른 글
코틀린 enum 클래스 사용자 멤버 정의 (0) | 2023.12.31 |
---|---|
코틀린 enum 클래스 when식 (0) | 2023.12.31 |
코틀린 클래스 멤버인 확장 (0) | 2023.12.31 |
코틀린 영역 함수 (0) | 2023.12.31 |
코틀린 수신 객체가 있는 호출 가능 참조 (0) | 2023.12.31 |