반응형
상수를 정의할 때 final static String 과 같은 방식으로 상수를 정의한다. 그것을 개선하기 나온 것이 enum class다.
Enum의 장점
1. IDE 지원 : 동완성, 오타검증, 텍스트 리팩토링 등등
2. 허용가능한 값을 제한할 수 있다.
3. 리팩토링시 변경범위가 최소화된다.
C/C++의 경우는 Enum이 결국 int 값이지만, Java의 경우는 Class이기 때문에 더 많은 장점이 있다.
- 데이터들의 연관관계 표현
Enum을 사용하지 않으면 직접 메소드에서 각 값을 매칭해서 리턴해야 했다. 예를 들면 ("Y","true","1"), ("N","false","0")
Enum에서는 표현할 수 있다.
enum Enum{
Y("1", "true"),
N("0", "false");
private String s1;
private String s2;
Enum(String s1, String s2) {
this.s1 = s1;
this.s2 = s2;
}
}
Enum은 추상메서드 뿐만 아니라 일반 메서드도 가질 수 있다.
반응형
'JAVA' 카테고리의 다른 글
[리팩토링] 분류코드를 클래스로 치환 (0) | 2021.03.21 |
---|---|
Java의 Future이란 (0) | 2021.01.03 |
일급컬렉션 (0) | 2020.07.06 |
Java의 배열 (0) | 2020.05.18 |
Reference 와 Garbage Collection (0) | 2020.03.13 |