728x90
정의
- 열거형이라고 불리며, 서로 연관된 상수들의 집합을 의미
/* enum 예시 */
public enum Security {
NORMAL,
WARNING,
DANGER;
}
특징
- 인스턴스 생성과 상속을 방지하여 상수값의 타입 안정성이 보장
- 데이터들 간의 연관관계를 명확하게 표현하여, 구현의 의도를 명확하게 알수 있음
- 코드가 단순해지고, 가독성 보장
- enum 클래스 내부 동작은 static영역임, 즉 프로그램이 종료되기 전까지 가져다 쓸 수 있는 메모리 공간 확보됨 (https://stackoverflow.com/questions/143285/how-much-memory-do-enums-take)
- 일반 메서드를 가질 수 있음
실무에서 사용할 때, 주로 관계가 있는 타입으로 묶어서 사용함 (ex. 부서유형, 보안상태)
Enum에서 제공하는 메소드
- Enum 객체 메소드들은 컴파일 시 Enum 클래스를 상속하게 되어 있어, 해당 메소드들을 사용할 수 있음
메소드 | 리턴 타입 | 설명 |
name() | String | 열거 객체의 문자열을 리턴 |
ordinal() | int | 열거 객체의 순번을 리턴 |
compareTo() | int | 열거 객체를 비교하여 순번 차이 리턴 |
valueOf(String name) | 열거 타입 | 주어진 문자열의 열거 객체 리턴 |
values() | 열거 배열 | 모든 열거 객체들을 리턴 |
'JAVA' 카테고리의 다른 글
[JAVA] 싱글턴 패턴 (0) | 2021.06.05 |
---|---|
[JAVA] JVM 구조 (0) | 2021.06.03 |
[JAVA] GC의 종류 (0) | 2021.05.23 |
[JAVA] 상태패턴 (0) | 2021.05.21 |
[JAVA] Builder 패턴 (0) | 2021.05.16 |