• 열거타입을 이용하면 변수를 선언할 때 변수타입으로 사용가능
  • 특정 값만 가져야 한다면 열거형 사용
  • 상수를 열거형 대신해서 사용했던것

상수를 이용하는 방법

    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 = 소년;

해결 방법

  • 열거형 사용
      enum Gender{
          MALE, FEMALE;
      }
    
  • 열거형 사용
      Gender gender2;
    
            
      gender2 = Gender.FEMALE;
    
      //Gender타입의 변수에는 MALE이나 FEMALE만 대입이 가능.다른 값은 대입할 수가 없다.