WEB/JAVA

Java Enum이란?

  • Enum을 통해 얻는 기본적인 장점
    •  문자열과 비교해, IDE의 지원을 받을 수 있다.
      • 자동완성, 오타검증, 텍스트 리팩토링 등
  • 허용 가능한 갑들을 제한할 수 있다.
  • 리팩토링시 변경 범위가 최소하 된다.
    • 내용의 추가가 필요해도, Enum코드외에 수정할 필요가 없다.

 

Java Enum인 경우 int값이 아니라 완전한 기능을 가진 클래스이다!

우선 enum타입으로 클래스를 생성해야한다

 

이제 상수를 선언하면 되는데, 관례적으로 모두 대문자로 작성한다.

 

Entity클래스에 선언해주기 위해서 String이 아닌 enum을 선언한다.

JPA를 사용하므로 @Enumerated(EnumType.SPRING)을 선언하면 Enum필드가 테이블에 저장시 숫자형이 아닌,

Enum의 이름이 저장된다. 여기서는 GUEST,USER이 저장된다.

 

이렇게 되면 값과 메소드가 어떤 관계가 있는지 찾을 필요가 없다.

Enum 상수를 직접 보면 되기 때문이다.

 

이런식으로 일반사용자(USER)만 볼 수 있게 권한을 주기 위해 사용할 수 있다.