enum을 사용하는 이유를 정리하면 아래와 같다. 1. 열거체를 비교할 때 실제 값과 타입을 모두 체크한다. 2. 열거체의 상수값이 재정의 되더라도 다시 컴파일할 필요가 없다. 3. 코드가 단순해진다. 4. 인스턴스 생성과 상속을 방지한다. 5. 키워드 enum을 사용하기 때문에 구현의 의도가 열거임을 분명하게 나타낼 수 있다. 정의 및 사용 방법 enum 키워드를 사용하여 열거체를 정의한다. //문법 enum  열거체이름  {  상수1이름 ,  상수2이름 ,  ... } //예제 enum  Fruit  {  APPLE ,  BANANA ,  ORANGE ,  WATERMELON }   열거체를 사용 방법 //문법 열거체이름 . 상수이름 //예제 Fruit . APPLE 상숫 정의 및 추가 열거체의 첫 번째 상수 값은 0부터 설정되며 그 이후로 바로 앞의 상수값 보다 1만큼 증가되며 설정된다. 추가적으로 불규칙한 값을 상수값으로 설정하고 싶으면 상수의 이름 옆에 괄호(())을 추가하고 그 안에 원하는 상수값을 명시할 수 있다. 이때 주의할 점은 불규칙한 특정 값을 저장할 수 있는 인스턴스 변수와 생성자를 다음과 같이 별도로 추가해야만 한다. //예시 enum  Fruit  {    APPLE ( 30 ),  BANANA ( 10 ),  ORANGE ( 22 ),  WATERMELON ( 5 );      private  final  int  value ;     Fruit ( int  value )  {  this. value =  value ;  }     public  int  getValue ()  {  return  value ;  } } 대표적인 Enum 메소드 static E values()  해당 열거체의 모든 상수를 저장한 배열을 생성하여 반환함. static E valueOf(String name)   전달된 문자열과 일치하는 해당 열거체의 상수를 반환함. protected void finalize()...