반응형 자바7 [Java] Enum 사용법 (3) - 실무 활용 Enum 총 정리 Enum 탄생 배경 Enum 사용법 Enum 활용법 수없이 들어온 Enum 탄생 배경과 사용법 그렇다면 도대체 실무에서 Enum을 어떻게 활용해야 할까? Enum을 사용하는 글들이나 실무 코드들에 적용했던 방법을 보면 (1) String이나 int로 하드코딩했던 것들을 Enum으로 리팩토링해서 타입 세이프 하게 사용 (2) 장기간 변경되지 않는 국가코드, 전화번호 앞자리 등 어떤 코드들을 DB에서 저장해서 사용했던 것들을 Enum으로 변경해서 DB 쿼리를 최소화해 부하를 줄이는 방법 사용 (3) 개발된 로직 중에 개념이 애매모호한 것들을 하나로 묶는 리팩토링 작업에 사용 이렇게 3가지에 주를 이룬다. 실제 업무 적용 사례 회원가입할 때 지역번호 Select 박스에 나오는 값들을 매번 D.. 2022. 9. 6. [Java] Enum 사용법 (2) - 문법 Enum 총 정리 Enum 탄생 배경 Enum 사용법 Enum 활용법 Enum 선언 enum 열거형이름 { 상수명1, 상수명2, …) Enum 메서드 메서드 설명 Class getDeclaringClass() 열거형의 Class 객체를 리턴한다. String name() 열거형 상수의 이름을 문자열로 리턴 int ordinal() (웬만하면 사용 X) 열거형 상수가 정의된 순서를 리턴 (0부터 시작) T valueOf(Class enumType, String name) T valueOf(String name) [지정된 열거형에서] name 과 일치하는 열거형 상수를 리턴 T[] values() 열거형 상수들을 배열 형태로 리턴 예제) public class enumTest { public enum Sea.. 2022. 9. 6. [Java] Enum 사용법 (1) - 탄생 배경 Enum 총 정리 Enum 탄생 배경 Enum 사용법 Enum 활용법 Enum이란? JDK 1.5부터 추가된 Enum은 열거형이라고 하며 서로 관련된 상수를 편리하게 선언하고 관리하기 위해 만들어 졌다. 그렇다면 JDK 1.5 이전엔 어떻게 썼고 왜 Enum이 나오게 됐을까? Enum의 등장 배경 Enum이 등장하기 전까진 정수 열거 패턴을 사용했다. 하지만 정수 열거 패턴엔 큰 문제점이 있었다. private final int SPRING = 1; private final int SUMMER = 2; private final int AUTUMN = 3; private final int WINTER = 4; 문제점 1. 가독성이 떨어져 관리가 용이하지 않았다. 2. 정수 열거 패턴을 위한 네임스페이스 공.. 2022. 9. 6. [디자인 패턴] 빌더 패턴 (Builder Pattern) * 아래 3개의 패턴을 하나의 주제를 가지고 차례차례 설명합니다. 참고바랍니다. 점층적 생성자 패턴 (TelescopingConstructor Pattern) 자바빈즈 패턴 (JavaBeans Pattern) 빌더 패턴 (Builder Pattern) 빌더 패턴 (Builder Pattern) 이란? 필수 매개변수는 생성자를 통해 빌더 객체를 얻은 후 선택 매개변수는 세터 메서드들로 설정하고 build 메서드를 호출하는 점층적 생성자 패턴의 안정성 + 자바빈즈 패턴의 가독성을 겸비한 패턴 코드 public class NutritionFacts { private int servingSize; // 필수 private int servings; // 필수 private int calories; private .. 2020. 5. 11. [디자인 패턴] 자바빈즈 패턴 (JavaBeans Pattern) * 아래 3개의 패턴을 하나의 주제를 가지고 차례차례 설명합니다. 참고바랍니다. 점층적 생성자 패턴 (TelescopingConstructor Pattern) 자바빈즈 패턴 (JavaBeans Pattern) 빌더 패턴 (Builder Pattern) 자바빈즈 패턴 (JavaBeans Pattern)이란? 매개변수가 없는 생성자로 객체를 만든 후 세터(setter) 메서드들을 호출해 원하는 매개변수의 값을 설정하는 방식이다. 코드 public class NutritionFacts { private int servingSize = -1; // 필수 private int servings = -1; // 필수 private int calories = 0; private int fat = 0; private i.. 2020. 5. 11. [Algorithm] 만 나이 계산하기 (Calculate american age) 문제 생년월일을 입력받아 만 나이를 반환하시오. 풀이 만 나이(american age)란? 만 나이는 태어난 때를 기산점으로 하여 매 생일을 맞을 때마다 한 살을 먹는다. 태어나서 얼마나 살았느냐를 나타낸다. 전 세계 대부분의 나라에서 사용하고 있다. 대한민국에서는 일상생활에서는 보통 세는나이를 쓰지만, 법률 및 각종 공문서, 언론보도에서는 대부분 만 나이를 사용한다. 세는나이는 태어남과 동시에 한 살이 되지만, 만 나이는 출생 후 1년(돌)이 되면 1세가 되고 그 전에는 생후 개월수로 센다. (출처 : 위키 https://ko.wikipedia.org/wiki/%EB%82%98%EC%9D%B4) 만 나이의 정의를 보면 태어난 때를 기산점(1)으로 하여 매 생일을 맞을 때마다 한 살(2)을 먹는다. 정의.. 2020. 5. 6. [디자인 패턴] 점층적 생성자 패턴 (Telescoping Constructor Pattern) * 아래 3개의 패턴을 하나의 주제를 가지고 차례차례 설명합니다. 참고바랍니다. 점층적 생성자 패턴 (Telescoping Constructor Pattern) 자바빈즈 패턴 (JavaBeans Pattern) 빌더 패턴 (Builder Pattern) 점층적 생성자 패턴 (Telescoping Constructor Pattern)이란? 생성자를 필수 매개변수 1개만 받는 생성자, 필수 매개변수 1개와 선택 매개변수 1개를 받는 생성자, 선택 매개변수 2개를 받는 생성자 등에 형태로 매개변수 개수만큼 생성자를 늘리는 방식 코드 public class NutritionFacts { private final int servingSize; // 필수 private final int servings; // 필수.. 2019. 10. 23. 이전 1 다음 반응형