열거 타입의 필요성
자바 5부터 열거 타입을 제공
public enum Direction {
EAST, WEST, SOUTH, NORTH
}
public enum Gender {
MALE, FEMALE
}
Gender gender = Gender.FEMALE;
Direction direction = Direction.SOUTH;
if (gender == Gender.FEMALE) {
// MALE은 병역의 의무가 있다.
System.out.println(Gender.MALE + "은 병역의 의무가 있다.");
} else {
System.out.println(Gender.FEMALE + "은 병역의 의무가 없다.");
}
if (direction == Direction.SOUTH) {
// SOUTH는 누구?
System.out.println(Direction.SOUTH + "는 누구?");
}
이렇게도 쓸수 있다.
public enum Gender {
MALE("남성"), FEMALE("여성");
private String s;
Gender(String s) {
this.s = s;
}
public String toString() {
return s;
}
}
public static void main(String[] args) {
Gender gender = Gender.FEMALE;
Direction direction = Direction.SOUTH;
if (gender == Gender.FEMALE) {
// 남성은 병역의 의무가 있다.
System.out.println(Gender.MALE + "은 병역의 의무가 있다.");
} else {
System.out.println(Gender.FEMALE + "은 병역의 의무가 없다.");
}
if (direction == Direction.SOUTH) {
System.out.println(Direction.SOUTH + "는 누구?");
}
}