그런데 이때 한 가지 문제가 발생할 수 있습니다. gender1이라는 변수에 아무 문자열이나 한번 넣어볼까요?
package javaStudy;
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;
gender1 = "boy";
}
}
처음 의도한 것은 gender1에 MALE 혹은 FEMALE 두 값 중 하나만 넣는 것이었습니다. 그런데 boy라는 값을 넣어도 이클립스는 에러를 발생시키지 않습니다. gender1이라는 변수가 string형이고, MALE, FEMALE 외 boy 같은 다른 값도 string 값이기 때문에 컴파일상에서 문제를 일으키지 않는 거죠. 즉, 이렇게 코드를 작성하고 실행해도 컴파일할 때 아무런 문제가 발생하지 않습니다. 하지만 정작 코드를 실행시켰을 때는 원했던 값이 아니라 다른 값이 나오므로 문제가 되겠죠?