Enum
2023. 3. 8. 15:14ㆍJava
Java에서 enum은 서로 연관된 상수들의 집합을 정의할 때 사용하는 데이터 타입입니다. enum을 사용하면 코드의 가독성을 높이고, 타입 안정성을 보장할 수 있습니다.
enum은 다음과 같이 선언합니다.
enum Weekday { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }
위 코드에서 Weekday는 enum 타입의 이름이고, MONDAY, TUESDAY 등은 enum 상수입니다. enum 상수는 모두 대문자로 작성하며, 각 상수는 쉼표로 구분됩니다.
enum은 switch 문과 함께 사용할 때 매우 유용합니다. switch 문에서 enum 값을 비교할 때는 case 문으로 각 상수를 나열하면 됩니다.
enum Weekday { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }
Weekday today = Weekday.MONDAY; switch (today) {
case MONDAY: System.out.println("Today is Monday.");
break;
case TUESDAY: System.out.println("Today is Tuesday.");
break;
// ...
default: System.out.println("Invalid weekday.");
break;
}
enum은 인스턴스 변수, 생성자, 메소드 등을 가질 수 있습니다. 예를 들어, 다음과 같이 enum에 메소드를 추가할 수 있습니다.
enum Weekday {
MONDAY("Monday"),
TUESDAY("Tuesday"),
WEDNESDAY("Wednesday"),
THURSDAY("Thursday"),
FRIDAY("Friday"),
SATURDAY("Saturday"),
SUNDAY("Sunday");
private final String name;
private Weekday(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
위 코드에서는 각 enum 상수에 대해 name이라는 인스턴스 변수와 getName()이라는 메소드를 추가했습니다.
enum은 상수를 정의하는 것 외에도 여러 가지 용도로 사용될 수 있으며, Java에서는 자주 사용되는 데이터 타입 중 하나입니다.
'Java' 카테고리의 다른 글
String과 StringBuffer의 차이 (0) | 2024.09.27 |
---|---|
Lambda Expression (0) | 2023.03.08 |
Final (0) | 2023.03.08 |
Generic (0) | 2023.03.08 |
Optional (0) | 2023.03.08 |