/*
<열거형>
◎ 열거형(Enumeration Type)은 어떠한 것의 종류가 의미론적으로 참과 거짓이 아닌 두개 이하로 나누어 지거나,
세가지 이상으로 나누어 질때 사용한다. (주로 성별,국가,광역시 이름...)
◎ 열거형의 명명법은 파스칼 케이스를 따르고, 클래스와 마찬가지로 그 자체가 타입이된다.
◎ 수동으로 객체화할수 없고 열거형이 가지는 열거된 인자들이 그 값이 되는데, 이때 이 값들은 정적이고 읽기 전용인
열거형 타입의 객체이다.
public enum [열거형 이름]{
[인자,...]?
}
- 열거형의 인자들은 콤마(,)로 구분하여 여러개 적을 수 있다.
- 단,인자들 간에 같은 이름을 가지는 것이 있어서는 안 된다.
- 앞서 얘기했듯이 인자들은 정적이며 읽기 전용이다.
◎ 모든 열거형 인자는 정적임으로 프로그램 실행 중에 단 하나밖에 존재할 수가 없음으로 동등 비교(==) 및 부등비교(!=)
를 한다. (사실 equals 써도 관계 없음)
<열거형의 고급적 사용>
◎ 열거형 인자의 나열이 끝나고 세미콜론(;)을 적어, 열거형 타입에 대한 멤버를 직접 구성할 수 있다. (클래스 처럼)
◎ 각 인자 뒤에 괄호( (, ) )를 이용하여 생성자에 전달할 전달 인자를 전달해 줄 수 있다.
생성자가 매개변수를 가지지 않는다면 주로 생략한다.
*/