티스토리 뷰
Enum class
- 코틀린에서 Enum 클래스는 서로 연관된 상수들의 집합을 나타냄
- 이러한 상수들은 보통 연관된 열거형 값으로 사용
enum class Direction {
NORTH,
SOUTH,
EAST,
WEST
}
// java
public enum Direction {
NORTH, SOUTH, EAST, WEST;
}
생성자와 속성: 각 Enum 상수는 자체 생성자 매개변수와 속성을 가질 수 있음
enum class Color(val rgb: Int) {
RED(0xFF0000),
GREEN(0x00FF00),
BLUE(0x0000FF)
}
메서드 : Enum 클래스는 메서드도 정의 가능
enum class Direction {
NORTH {
override fun printMessage() {
println("You are moving NORTH")
}
},
SOUTH {
override fun printMessage() {
println("You are moving SOUTH")
}
},
EAST {
override fun printMessage() {
println("You are moving EAST")
}
},
WEST {
override fun printMessage() {
println("You are moving WEST")
}
};
abstract fun printMessage()
}
fun main() {
Direction.NORTH.printMessage() // 출력: You are moving NORTH
Direction.SOUTH.printMessage() // 출력: You are moving SOUTH
}
Enum 클래스의 확장: Enum 클래스에 확장 함수를 정의하여 기능을 추가
- JAVA는 불가능
enum class Direction {
NORTH, SOUTH, EAST, WEST
}
fun Direction.isFacingNorth() = this == Direction.NORTH
fun main() {
val direction = Direction.NORTH
println(direction.isFacingNorth()) // 출력: true
}
'IT > Kotlin' 카테고리의 다른 글
[Kotlin] object 키워드 (0) | 2024.04.12 |
---|---|
[Kotlin] Sealed class(봉인된 클래스) (0) | 2024.04.08 |
[Kotlin] 데이터 클래스 data class (0) | 2024.04.08 |
[Kotlin] 코틀린 범위 표현 `..`, downTo, step, until (0) | 2024.03.26 |
[Kotlin] 반복문 for, while, do-while (0) | 2024.03.26 |