2022. 3. 3. 16:24ㆍProgramming/Java
Enum - 열거형 타입(enumerated type)
한정된 데이터를 가진 경우 사용하는 타입.
프로그래밍으로 표현을 할 때 데이터가 존재는 하지만 종류가 많지 않고 한정적인 경우 사용한다.
개수가 한정적이므로 데이터를 열거형으로 묶어주면 편하게 사용이 가능하다.
또한 enum의 경우 class , interface와 동급의 형식을 가지는 단위이다. enum을 class라 여길 수도 있지만 프로그래밍 상의 편의성을 위해 이를 따로 분류하였다. class로 볼 수 있다는 이러한 특성으로 enum은 내부에 생성자, 필드, 메서드를 가질 수 있는 표현방식이다. 다만 편의를 위해 따로 분류가 된 만큼 enum만의 문법적 요소가 존재한다.
-코드들은 Spring을 공부하면서 나온 예제에서 가져왔다.
Enum 선언 및 방식
// 각각의 형식으로도 표현을 하였다.
public enum Grade {
// enum의 형식으로 표현
Basic, Vip
// class 형식으로 표현
// public static final Grade Basic = new Grade();
// public static final Grade Vip = new Grade();
}
enum 키워드는 위에서 말했듯이 데이터를 열거 타입으로 선언하기 위해 사용하는 키워드이다.
Grade 라는 이름을 가진 enum을 지정을 하고 표현하고자 하는 한정된 데이터들을 나열해주면 된다.
public class Member {
private Long id;
private String name;
private Grade grade;
public Member(Long id, String name, Grade grade) {
this.id = id;
this.name = name;
this.grade = grade;
}
}
위에서 지정해준 enum을 그대로 Member라는 클래스에서 사용하는 경우의 코드이다.
예제에서는 enum과 member의 소스들을 따로 작성하였지만 실제로는 같은 java 파일 안에 구현해줘도 상관이 없다. 만약 따로 작성을 하게 된다면 같은 패키지 안에만 존재하면 된다.
Grade g1 = Grade.Basic;
Grade g2 = Grade.Vip;
System.out.println("해당 등급은 : " + g2 + "입니다");
예제에 나온 enum, Grade의 경우 이런 식으로 변수에 값을 지정하여 그 변수에 각각의 값이 어떤 값인지 지정하는 것이 가능하다. 또한 그 변수를 다시 호출하는 식으로 사용이 가능하다.
※ 추후 공부를 하며 추가되는 내용은 추가적으로 기록할 예정입니다.
'Programming > Java' 카테고리의 다른 글
[Java] 객체지향 (0) | 2022.11.14 |
---|---|
[Java] static 개념 및 정리 (0) | 2022.06.26 |
[Java] 자바의 추상 클래스 & 인터페이스 정리 / 상속 (0) | 2022.03.29 |
[ORM - JPA] JPA를 고른 이유 (0) | 2022.03.13 |
[IntelliJ] 단축키 (0) | 2022.03.11 |