enum(3)
-
enum 의 활용(2) - method 추가
이전 글에서 간단한 조건문을 enum으로 확장하는 방법에 대해서 알아보았다. 각 value 가 enum의 상수에 강력하게 묶여 있다면 enum에 종속적으로 만들어서 코드를 깔끔하게 정리할 수 있었다. 이번에는 enum 상수에 method들을 묶어 보자. 아래와 같은 코드가 있다고 가정해보고 enum으로 refactoring 을 해보자. // DayOfWeek 는 앞선 글에서 정의한 요일 상수를 가진 enum 이다. public void workSchedule(DayOfWeek dayOfWeek) { switch (dayOfWeek) { case MONDAY: case WEDNESDAY: case FRIDAY: this.workAtOffice(); break; case TUESDAY: case THURSD..
2022.09.22 -
enum 의 활용(1) - 상수에 value 추가
enum으로 할 수 있는 다양한 활용이 있는데 단순히 상수를 정의 하는 것만으로 끝내기에는 너무 아쉽다. 다양한 활용법 중에서 이 글에서는 가장 먼저 각 상수가 데이터-value를 가지도록 작성하는 방법과 이것이 활용적인 측면에서 가지는 이점에 대해서 알아보고자 한다. Value 의 추가 하나의 상수에 하나의 값을 연관지어보자. 예를 들면 "월요일 점심은 도시락, "화요일 점심은 고구마"... A이면 B의 가장 단순한 폼은 조건문(if-else / swith-case)일 것이다. 이를 코드로 보면 public String getLunchMenuByDayOfWeek(DayOfWeek dayOfWeek) { String menu; if (dayOfWeek == DayOfWeek.MONDAY) { menu =..
2022.09.19 -
상수의 정의
상수를 정의 하는 방법 - enum Java 에서 상수를 정의하기 위해 enum을 작성하는 법은 class 대신에 소문자로 enum 으로 작성하고 정의 하고자 하는 상수는 대문자 알파벳으로 작성하면 된다. public enum DayOfWeek { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } enum type 은 매우 독특한데 enum의 각 열거 상수(위 예시의 MONDAY, TUESDAY...)들은 각각 하나의 객체들이고 이는 최상위 Object 를 상속 받고 있음을 의미한다. 그렇기 때문에 우리가 기대할 수 있는 여러 method 들이 존재한다. 또한 하나의 객체이기 때문에 추상메소드나 인터페이스의 구현을 추가할 수도 있다. 또한..
2022.09.09