enum 클래스는 열거체이며 열거체의 정의부터 알아보자 열거체는 변수가 가질 수 있는 값들을 나열해 놓은 자료형이며 열거체를 이용하여 새로운 변수를 선언하면서 동시에 그 변수가 가질 수 있는 정수형 상수값도 함께 명시할 수 있습니다. 자바에서는 enum 클래스용인 java파일로 선언, 타 클래스 내부에 선언, 클래스 외부에 선언등으로 이용하는데 일반적으로 열거체 정의용 java class 파일을 따로 만들어 사용한다. 그럼 예제코드로 보자!!
결과
enum Company 안에 NAVER("네이버"),KAKAO("카카오"),LINE("라인"),TOSS("토스")라는 타입을 선언하고 생성자도 같이 생성을 해줘야한다. 그리고 메인클래스에서 Company.NAVER.getName()은 콘솔창에 보면 네이버가 나온다. 이런식으로 NAVER안에 "네이버"가 들어있어서 네이버가 나오게 된다. 이렇게 회사이름처럼 바뀌면 안될 정보들을 enum을 사용하여 데이터베이스에 저장할때 유용하게 사용될 거 같다.
enum에서 사용할 수 있는 자주 사용하는 메서드를 보고 이번 포스팅은 마치겠습니다.
values()는 enum의 요소들을 순서대로 enum타입의 배열로 리턴한다.
결과
여기서 보면 for문 안에서 Company를 name으로 치환하여 사용한다는 뜻이고 이제 첫번째 name은 NAVER,KAKAO,LINE,TOSS가 순서대로 들어간다. 그리고 거기서 getName()을 해서 NAVER,KAKAO,LINE,TOSS안에 있는 네이버,카카오,라인,토스가 나오게된다.
ordinal()은 해당 상수의 index값을 출력한다
결과
LINE의 인덱스인 2가 출력된다.