enum
타입을 담는 클래스. 열거형 클래스라고도 한다.
//java
enum Color {
RED(0xFF0000), GREEN(0x00FF00), BLUE(0x0000FF);
int rgb;
Color(int color) {
rgb = color;
}
}
for(Color color : Color.values()) {
System.out.println(color);
}
// RED,GREEN,BLUE
//kotlin
enum class Color(val rgb: Int) {
RED(0xFF0000),
GREEN(0x00FF00),
BLUE(0x0000FF);
}
for(color: Color in Color.values()) {
println(color)
}
//RED,GREEN,BLUE
//코틀린에선 enum class의 생성자부분을 클래스헤더와 같이 작성할 수 있어 코드길이를 줄일 수 있다.
val red: Color = Color.valueOf("RED")
val green: Color = Color.GREEN
val colorList: Array<Color> = Color.values()
//kotlin
enum class Color(val rgb: Int) {
RED(0xFF0000),
GREEN(0x00FF00),
BLUE(0x0000FF);
fun rgb() {
//...
}
//enum 클래스 안에서 멤버함수를 정의한다면 마지막 항목 끝에 자바에서 처럼 ; 을 붙여주어야 한다.
}
Last updated