열거 클래스는 다음과 같이 선언하여, 사용할 수 있다.

또한 기본으로 다음과 같은 멤버 및 멤버 함수를 가지고 있다.

 

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제 라는 책을 기반으로 공부 내용을 정리하였습니다

+ Recent posts