반응형
enum class
여러개의 상수들을 열거해놓은 클래스
값에 대한 명확한 제약이 있는 경우 사용 (선택할 값이 몇가지로 정해져 있는 경우)
enum class Direction {
NORTH, SOUTH, EAST, WEST
}
val dir = Direction.NORTH
when (dir) {
Direction.NORTH -> println("북쪽으로 이동")
Direction.SOUTH -> println("남쪽으로 이동")
Direction.EAST -> println("동쪽으로 이동")
Direction.WEST -> println("서쪽으로 이동")
}
위와 같이 when과 잘 맞으며 이때는 else를 사용하지 않음
기본적으로 enum class 각각의 인스턴스는 name과 ordinal 프로퍼티를 가짐
ordinal은 순차적으로 0부터 값을 가짐
dir.name // "NORTH"
dir.ordinal // 0
enum class Fruit(price:Int,tag:String){
GRAPE(3000,"grape"),
APPLE(2000,"apple"),
ORANGE(4000,"orange"),
MANGO(10000,"mango")
}
val fruit = Fruit.GRAPE
fruit.price // 3000
fruit.tag // "grape"
위와 같이 생성자를 가질 수 있으며 인스턴스에도 동일하게 만들어 줘야함
정해진 고정 값들을 사용할 때
안전하고 조건분기를 깔끔하게 처리할 때 enum을 사용
반응형
'언어 > Kotlin' 카테고리의 다른 글
[Kotlin] 코틀린 범위 지정 함수 let, apply, also, run, with (0) | 2025.05.11 |
---|---|
[Kotlin] 코틀린 데이터 클래스 componentN (0) | 2025.05.10 |
[Kotlin] 코틀린 가변인자 vararg 사용법 (0) | 2025.05.10 |
[Kotlin] 코틀린 람다 표현식 (후행 람다) (0) | 2025.04.30 |
[Kotlin] 코틀린 JecPack Compose Surface (0) | 2025.04.29 |