801 B
801 B
열거형
enum class Direction {
NORTH, SOUTH, EAST, WEST
}
enum class Color(val rgb: Int) {
RED(0xff0000),
GREEN(0x00ff00),
BLUE(0x0000ff)
}
val dir = Direction.valueOf("NORTH")
for (item in Direction.values()) {
// ...
}
익명 클래스
enum class State {
WAITING {
override fun signal() = TALKING
},
TALKING {
override fun signal() = WAITING
}
abstract fun signal(): State
}
인터페이스
enum class IntArithmetics : BinaryOperator<Int>, IntBinaryOperator {
PLUS {
override fun apply(t: Int, u: Int): Int = t + u
},
TIMES {
override fun apply(t: Int, u: Int): Int = t * u
};
override fun applyAsInt(t: Int, u: Int) = apply(t, u)
}