자바는 열거타입을 이용하여 변수를 선언할 때 변수타입으로 사용할 수 있다.
열거형 대신 상수를 이용하는 방법
public class EnumExam {
public static final String MALE = "MALE";
public static final String FEMALE = "FEMALE";
public static void main(String[] args) {
String gender1;
gender1 = EnumExam.MALE;
gender1 = EnumExam.FEMALE;
}
}
상수를 사용했을 때의 문제점
String으로 선언된 gender1에는 MALE, FEMALE 둘 중 한 가지 값을 갖기 원하는데, gender1의 type이 String이기 때문에 gender1="소년"; 이렇게 수행되어도 전혀 문제가 되지 않는다.
-> 실행할 때 원했던 값인 MALE, FEMALE 말고도 다른 값이 들어오게 되므로 문제를 발생시킬 수 있다.
위와 같은 문제를 발생시키지 않게 하기 위해 열거형을 사용한다.
enum Gender{
MALE, FEMALE;
}
Gender gender2;
gender2 = Gender.MALE;
gender2 = Gender.FEMALE;
Gender의 타입 변수에는 MALE이나 FEMALE만 대입이 가능하다. 다른 값은 저장할 수 없다. 특정 값만을 갖게 하려면 열거형을 사용하는 것이 좋다.