-
enum이란 멀까요, 그리고 왜 사용을 할까요
저는 코드 내에 특정 예외로직을 넣을 경우 하드코딩으로 IF문을 넣어 equals를 사용하여 왔습니다.
또한 개발을 할때 공통적인 코드의 경우 주로 DB 조회를 통해서 많이 사용하여 왔습니다.
그러다 보니 코드 자체가 지저분해지는 것은 물론이고 변경이 어렵고 관리가 어렵다는 것을 알게되었습니다.
주로 아래 두가지의 경우에 enum을 활용하면 코드를 읽기 쉽고 간결하게 작성할 수 있습니다.
1.특정 예외로직을 넣을 경우 하드코딩으로 IF문을 넣어 equals를 사용
어떤 예외가 추가 or 변경될경우 해당 소스를 찾아 추가 혹은 변경을 해줘야합니다.
추가 사항이 많아질수록 코드가 지저분해지며 이는 다른이들로 하여금 코드 해석을 어렵게 만듭니다.
2.공통적인 코드의 경우 주로 DB 조회를 통해서 많이 사용
DB조회를 할때마다 Connection Pool을 매번 태워야 합니다. 물론 캐시를 통해서 해결을 할수는 있지만 연계 코드를 작성할 경우 DB를 join을 통해 다시 호출해야 합니다.
이 두가지의 경우는 enum을 통해 코드를 읽기쉽고 간결하게 작성할 수 있습니다.
예시를 들어보겠습니다.
카페에서 음료를 시킬 경우 카페에 메뉴를 확인하는 과정입니다.
AS-IS 1
판매음료 예외 처리를 하며 판매음료가 없을 경우 없다고 알려줍니다. 이 경우 판매음료의 종류가 많아짐에 따라 equals문이 늘어날 수 있습니다.
TO-BE 1 - final을 이용하여 사용할 수 있습니다.
TO-BE 2 -enum을 이용하여 사용할 수 있습니다.
판매 음료를 enum으로 정의합니다. 고객이 메뉴를 선택할 때 메뉴 여부를 확인합니다. 예시를 좀 더 들어가보겠습니다.
고객이 메뉴를 선택하고 구매할 경우 가격이라는 것이 존재합니다.
이럴 때 JAVA의 enum은 단순 변수가 아닌 클래스이므로 큰 힘을 가집니다.
enum에 amt(가격) 을 추가하였습니다. 메뉴 내 가격을 추가하였습니다. '개발 > java' 카테고리의 다른 글
Iterate는 멀까 (0) 2021.12.18 enum 활용법 (0) 2021.12.15 메모리와 스택과 힙 (0) 2021.12.14 Builder 패턴 (1) 2021.12.14 일급 컬렉션 (0) 2021.12.12