Kotlin/포스팅

코틀린 enum 클래스 사용자 멤버 정의

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

코틀린 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