1.설명

(1)

-열거형 타입-

열거형 타입으로 Style같은 타입 이름을 정의 할 수 있다.

그 타입으로 일정한 집합의 값들이 허용 된다.

(Style 타입으로 A, F가 허용된다)

그리고 특정 값은 이런식으로 나타낸다. ->  Style.A 

(2)

클래스처럼 보이게 하는 상수

(3)

서로 관련있는 상수들끼리 모아 상수들을 대표할 수 있는 이름으로 타입을 정의하는 것

 

 

 

 

 

2.선언(코드 예시)

public enum Style {
   A,F;
   public String toString() {
         switch(this) {
             case A : return "a";
             case F : return "f";
             default : return null;
            }
       }
 }

 

 

 

 

 

 

3.사용(코드 예시)

 MandolinSpec whatErinLikes = new MandolinSpec(Builder.FENDER, "Stratocastor", 

                                Type.ACOUSTIC, Style.A, Wood.MAPLE, Wood.MAPLE);

 

 

 

 

 

 

4.enum 좋은 점

enum을 사용하는 메소드 or 클래스가 enum에 정의되어 있는 값을

사용하게 보호한다.

그래서 스펠링을 틀리거나 잘못타이핑한 경우

컴파일러가 이를 찾아준다.