더북(TheBook)

그런데 이때 한 가지 문제가 발생할 수 있습니다. 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";
    }
}

 

처음 의도한 것은 gender1MALE 혹은 FEMALE 두 값 중 하나만 넣는 것이었습니다. 그런데 boy라는 값을 넣어도 이클립스는 에러를 발생시키지 않습니다. gender1이라는 변수가 string형이고, MALE, FEMALEboy 같은 다른 값도 string 값이기 때문에 컴파일상에서 문제를 일으키지 않는 거죠. 즉, 이렇게 코드를 작성하고 실행해도 컴파일할 때 아무런 문제가 발생하지 않습니다. 하지만 정작 코드를 실행시켰을 때는 원했던 값이 아니라 다른 값이 나오므로 문제가 되겠죠?

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.