I can do it(Feat. DEV)

[JAVA]Enum이란? 본문

개발자 모드/개념

[JAVA]Enum이란?

까짓거 해보자 개발자 2022. 9. 23. 11:41
728x90

다른 분의 프로젝트를 서포트 중 접속로그 상태를 저장하는데 enum을 쓰면 좋다고 함.

enum? 이게 뭐지? 타입인가..? 궁금해서 갓글 검색.

 

※ Enum 정의
Enum : 열거형이라고 불리며, 서로 연관된 상수들의 집합을 의미함.
기존 상수를 정의하는 방법인 final static string 과 같이 문자열이나 숫자들을 나타내는 기본자료형의 값을 enum을 이용하면 같은 효과를 낼 수 있다고 함.

 

읽어보니 final static string과 같이  상수를 선언하면 잘못된 값이 들어가도 컴파일 시 모르는데 

enum을 사용하면 컴파일 시 에러가 떠서 알 수 있다고 함.

그외 코드가 단순해지고, 가독성이 좋다고 함.

등등 ...

 

나의 상황에 접목시켜 봄.

accessLogService.insertLog(response.getAdmin().getUsername(), response.getAdmin().getName(), "LOGIN");   //로그인 시 접속로그

저자는 접속로그 상태를 저장할 때 이러한 String 형태로 직접 넣었는데 "LOGIN" 부분에 enum 클래스 타입의 상수를 사용하면 좋다는 말이였음.

 

찾아보니 enum class를 사용하는데 @Enumerated를 사용해도 되지만 데이터가 많을 때 안좋다고 함.

다른 방법으론 Converter가 있다고 함.

 

이 방법은 추후 개인프로젝트에서 사용해보기로 약속하고 이만 퇴장.

오늘 하루도 다들 행복하길.

 

 

 

📢참조

https://limkydev.tistory.com/50

728x90