[JAVA] 열거형과 익명클래스
열거형
- 열거형
- 열거형은 미리 정의된 상수값을 만들기 위한 자료형
- enum을 사용하여 정의
- 열거형으로 선언된 변수에는 미리 지정된 값만 대입 가능
- 상수값을 배열로 리턴하는 static 메소드로 values()를 제공
Enum Day { SUNDAY, MONDAY, TUESDAY, THURDAY, FRIDAY, SATURDAY }
Day day = Day.MONDAY; for (Day d : Day.values()){ System.out.println(d); }
- 열거형은 미리 정의된 상수값을 만들기 위한 자료형
- 열거형의 생성자와 메소드
- 상수 선언이 필드나 메소드보다 먼저 정의되어야 하며 세미콜론(;)으로 끝나야 함
- 열거형 정의에 필드와 메소드를 포함할 수 있음
- 생성자는 열거형과 같은 이름을 가지며 접근 제어자는 생략 또는 private이어야 함
- 열거형에서 상수값은 마치 하나의 객체와 같음
- 열거형의 생성자는 상수값을 설정(객체 생성)할 때 자동 호출됨
- 상수 선언이 필드나 메소드보다 먼저 정의되어야 하며 세미콜론(;)으로 끝나야 함
익명 클래스
- 일회성으로 1개의 객체를 생성하기 위한 클래스. 클래스 정의와 동시에 객체를 생성할 수 있음
- 슈퍼 클래스를 상속받거나 인터페이스를 구현하도록 익명 클래스를 정의함
new 슈퍼클래스(){ ... } // 슈퍼클래스의 자식 객체 생성
new 인터페이스(){ ... } // 인터페이스를 구현하는 자식 객체 생성
- 중괄호가 익명클래스의 몸체