Enum이란?
- 관련있는 상수들의 집합
- Enum의 등장: 아래 사항들을 보완하고자 나타남
- 기존 클래스 내에 상수를 선언해 관리하였으나 네이밍이 겹치고, 불필요하게 상수가 많아지는 경우가 존재했음
- IDE의 지원을 적극적으로 받을 수 없음
- 타입의 안정성이 떨어짐
1. 데이터간 연간관계 표현
- 각 테이블에서 [ 1, True, Y ], [ 0, False, N ]이 같은 의미라 했을 때 이를 구분할 필요가 있음
- Enum을 적용하지 않는다면 해당 값을 인자로 받아 적절한 값을 return하는 형식의 메소드 구현이 가능함
- 장점
- 같은 의미의 값을 처리할 수 있음
- 단점
- 불필요한 코드량이 많음
- Y와 N이 아닌 다른 문자가 추가될 경우 이를 추가로 구현해야함
- 동일 타입이 추가되는 데에 비해 같은 코드가 반복돼 생산성이 감소함
- 불필요한 코드 감소
- @Getter(Lombok)을 사용해 getMethod를 아래와 같이 생략 가능
- 위와 같이 활용이 가능함
- 클래스명과 상수, 메서드명으로 직관적 확인이 가능함
2. 상태와 행위를 한 곳에서 관리할 수 있음
* 학습 출처
https://woowabros.github.io/tools/2017/07/10/java-enum-uses.html
'Programming > JAVA' 카테고리의 다른 글
[Effective JAVA] 모든 객체의 공통 메서드 (2) equals의 재정의와 hashCode (0) | 2021.06.27 |
---|---|
[Effective JAVA] 모든 객체의 공통 메서드 (1) Equals 메소드의 재정의 (0) | 2021.06.27 |
[Effective JAVA 3S/E] 객체 생성과 파괴 - item1 (0) | 2021.06.18 |
자바, this 키워드 (0) | 2021.04.04 |
자바, interface 키워드와 implements 키워드 (0) | 2021.04.04 |