코틀린 enum class에서 사용자 정의 멤버를 정의하려면, 각 열거형 상수에 속성이나 메서드를 추가하면 됩니다. 사용자 정의 멤버를 통해 각 열거형 상수에 고유한 동작이나 데이터를 부여할 수 있습니다.
다음은 간단한 예제를 통해 코틀린 enum class에서 사용자 정의 멤버를 사용하는 방법을 보여줍니다.
enum class Direction(val degrees: Int) {
NORTH(0) {
override fun printDescription() {
println("Heading towards the North")
}
},
EAST(90) {
override fun printDescription() {
println("Heading towards the East")
}
},
SOUTH(180) {
override fun printDescription() {
println("Heading towards the South")
}
},
WEST(270) {
override fun printDescription() {
println("Heading towards the West")
}
};
abstract fun printDescription()
}
이 예제에서 Direction 열거형은 degrees라는 속성을 가지고 있으며, 각 상수(NORTH, EAST, SOUTH, WEST)는 해당하는 각도를 나타내는 값을 가지고 있습니다. 또한, printDescription이라는 추상 메서드를 정의하고, 각 상수에서는 이 메서드를 구현하여 해당 방향의 설명을 출력하고 있습니다.
이제 이를 사용하는 예제를 살펴보겠습니다.
fun main() {
val north = Direction.NORTH
println("Degrees for NORTH: ${north.degrees}")
north.printDescription()
val east = Direction.EAST
println("Degrees for EAST: ${east.degrees}")
east.printDescription()
}
이를 실행하면 각 상수에 대한 정보와 사용자 정의 메서드의 출력이 표시됩니다. 사용자 정의 멤버를 통해 각 열거형 상수에 특정 동작이나 데이터를 추가하여 코드를 더 모듈화하고 확장 가능하게 만들 수 있습니다.
With ChatGPT
'Kotlin > 포스팅' 카테고리의 다른 글
코틀린 데이터 클래스 (0) | 2023.12.31 |
---|---|
코틀린 enum 클래스의 공통 멤버 (0) | 2023.12.31 |
코틀린 enum 클래스 when식 (0) | 2023.12.31 |
코틀린 이넘(enum) 클래스 (0) | 2023.12.31 |
코틀린 클래스 멤버인 확장 (0) | 2023.12.31 |