열거 클래스는 다음과 같이 선언하여, 사용할 수 있다.
또한 기본으로 다음과 같은 멤버 및 멤버 함수를 가지고 있다.
val name:String
val ordinal:Int
fun valueOf(value:String): 열거 클래스
fun values():Array<열거 클래스>
여기서 name 은 열거 클래스에서 작성한 문자열 그대로 표기되며, 또한 ordinal은 첫번째 열거 부터 시작하여, 0 에서 시작하고 해당 열거 부분의 Index 값을 가지고 있다.
enum class Mode
{
SELECTION, PEN, SHAPE, ERASER
}
fun main(args: Array<String>)
{
// 현재 선택된 모드
val mode: Mode = Mode.PEN
when (mode)
{
Mode.SELECTION -> println("선택 모드")
Mode.PEN -> println("펜 모드")
Mode.SHAPE -> println("도형 모드")
Mode.ERASER -> println("지우개 모드")
}
}
열거 클래스에 프로퍼티와 멤버 함수 선언하는 방법
enum class Mode(val number: Int)
{
SELECTION(0),
PEN(1),
SHAPE(2),
ERASER(3);
fun printNumber()
{
println("모드: $number")
}
}
fun main(args: Array<String>)
{
// 현재 선택된 모드
val mode: Mode = Mode.ERASER
println(mode.number)
mode.printNumber()
}
참고 : 초보자를 위한 Kotlin 200제 라는 책을 기반으로 공부 내용을 정리하였습니다
'Kotlin' 카테고리의 다른 글
[Kotlin] in/out 키워드 및 .. 연산자와 범위 표현식 (0) | 2020.09.06 |
---|---|
[Kotlin] Reified 타입 매개 변수 (0) | 2020.09.06 |
[Kotlin] 함수 리터럴과 람다식, 익명함수, it 식별자 (0) | 2020.09.06 |
[Kotlin] Sealed Class (0) | 2020.09.01 |
[Kotlin] 확장함수 / 확장 프로퍼티 (0) | 2020.09.01 |