Kotlin - Enum class

이동수·2024년 9월 20일

Kotlin

목록 보기
24/33
post-thumbnail

enum class

  • 카테고리를 분류할때만 쓰자!!!!!!!!!
    • 카테고리 분류 안되면 const쓰자
  • 몇개의 상수 값을 가지는 데이터 형식(열거형)
  • 이러한 상수 값은 주로 서로 연관된 항목을 그룹화하고 명명하는데 사용(카테고리)
  • 객체들은 대문자로 기술
  • 객체들은 고유의 속성을 가질수있다
    • RED(1,”빨간색”)
  • 내장 property
    • name : 선언된 열거상수의 문자열
    • ordinal(index) : 선언된 열거상수의 순서(0부터 시작)
  • 내장 함수
    • values() : 열거한 상수를 배열로 가져오는 함수
    • valueOf(name: String) : 인자로 주어진 열거형 상수를 가져오는 함수
  • 변경할수도 있음. 그런데 그럴일 거의 없음
fun main(){
    var state = State.SING
    println(state)          //SING

    state = State.SLEEP
    println(state.isSleep())//true

    state = State.EAT
    println(state.mes)      //밥먹기

}
enum class Color{
    RED,
    BLUE,
    GREEN
}
enum class Color2(val number: Int){
    RED(1),
    BLUE(2),
    GREEN(3);

    fun isRed() = this == Color2.RED //비교할 대상은 자기 자신이므로 this로 해주어야함
                                    //boolean값으로 반환
}

enum class  State(val mes: String){
    SING("노래를 부릅니다"),
    EAT("밥먹기"),
    SLEEP("잠자기");

    fun isSleep() = this == State.SLEEP
}

0개의 댓글