우아한 테크코스 3주차에 로또미션에서 Java Enum을 공부하여 적용하라는 요구사항이 추가되어 공부하게 되었습니다. Java Enum(열거형)은 상수의 집합을 나타내는 특별한 데이터 유형입니다. 열거형을 사용하면 변수가 특정한 미리 정의된 상수 중 하나일 때 이를 명시적으로 선언할 수 있습니다.
이펙티브 자바의 Enum 파트에서 더 다양하고 깊은 사례를 볼 수 있습니다.
enum Color {
RED, GREEN, BLUE
}
public class EnumMethodsExample {
public static void main(String[] args) {
// values(): Enum 상수를 배열로 반환
Color[] colors = Color.values();
// 값들을 반복하여 출력
for (Color color : colors) {
System.out.println("Enum 상수: " + color + ", 순서: " + color.ordinal() + ", 이름: " + color.name());
}
// valueOf(String name): 지정된 이름과 일치하는 Enum 상수 반환
String colorName = "RED";
Color redColor = Color.valueOf(colorName); // 대소문자 구분
System.out.println("값이 " + colorName + "인 Enum: " + redColor);
// compareTo(): Enum 상수들 간의 비교
Color firstColor = Color.RED;
Color secondColor = Color.BLUE;
int comparison = firstColor.compareTo(secondColor);
if (comparison < 0) {
System.out.println(firstColor + " comes before " + secondColor);
} else if (comparison > 0) {
System.out.println(firstColor + " comes after " + secondColor);
} else {
System.out.println(firstColor + " and " + secondColor + " are the same");
}
}
}