Coding Memo

Kotlin 열거형 클래스 본문

Language/Kotlin

Kotlin 열거형 클래스

minttea25 2021. 1. 8. 14:43

Java에도 열거형이 있듯이 Kotlin에도 있다.

서로 연관이 있는 상수값들을 모아놓은 집합이라고 생각해도 될 것 같다. (물론 이 집합을 타입처럼 사용한다.)

상수 값을 열거할 때 이용하며, 상수 값이므로 보통 대문자로 나타낸다.


enum class

 

상수값은 물론, 함수도 가지고 있을 수 있다.

 

인자가 없는 간단한 예시이다.

fun main() {
    var c: UserColor = UserColor.RED
    println(c)

    if (c.isRed()) {
        println("c is Red")
    }
}

enum class UserColor {
    RED,
    GREEN,
    BLUE;

    fun isRed(): Boolean = this == UserColor.RED
}

예시1 출력 결과

인자를 포함하여 생성할 수 있다.

fun main() {
    var feel = Feeling.HAPPY
    println(feel)

    feel = Feeling.FUN
    println(feel.now)
    println(feel.dgr)

    feel.upDgr()
    println(feel.dgr)
}

enum class Feeling(val now: String, var dgr: Int) {
    HAPPY("happy", 1),
    SAD("sad", 1),
    FUN("fun", 1);

    fun upDgr() {
        this.dgr++
    }
}

예시2 출력 결과

인자의 값을 변경하는 것도 가능하고, 따로 출력하는 것도 가능하다.

클래스처럼 사용하면 된다.

'Language > Kotlin' 카테고리의 다른 글

Kotlin 리스트 (Collections)  (0) 2021.01.10
Kotlin 데이터 클래스  (0) 2021.01.08
Kotlin 중첩 / 내부 클래스  (0) 2021.01.08
Kotlin 함수 파라미터  (0) 2021.01.06
Kotlin null 값  (0) 2021.01.06