ENUM
프로그래밍에서 열거형(enumeration)을 정의하는 데 사용된다.
열거형은 이름이 지정된 상수 집합을 정의 enum을 사용하면 각각의 값이 무엇을 의미하는지 명확히 할 수 있다
enum은 다양한 언어에서 사용이 가능하다.
// 작성한 순서대로 0부터 값이 자동으로 부여된다.
JAVA, //0
ORACLE, //1
JDBC, //2
HTML, //3
CSSS, //4
JAVASCRIPT //5
enum 특징
1. 열거타입으로 선언 된 인스턴스는 싱글 톤으로 관리가 되고 인스턴스가 1개임을 보장한다.
그래서 단일 인스턴스임을 보장하기 위해서 == 비교가 가능하다.
2. 이름 충돌 방지를 위해 접두사를 쓰지 않아도 Enum 타입별로 네임 스페이스를 가진다.
만약 아래처럼 동일한 이름의 상수가 필요하다면, 네임스페이스를 다 다르게 한다.
public enum Backend { JAVA, ORACLE, JDBC, JAVASCRIPT }
public enum Frontend { HTML, CSS, JAVASCRIPT }
3. 또한 toString()을 이용하여 문자열로 변경하기 쉽다.
4.values()를 이용하여 상수 값 배열을 반환하고 이를 통해 연속으로 처리가 가능하다.
Subjects [] subjects = Subjects.values();
for(Subjects s : subjects) {
System.out.println(s);
}
5. 타입 안정성을 보장한다.
6. 각각의 요소들이 특정한 값을 가지게 할 수도 있다.
GUEST("게스트"),
CONSUMER("구매자"),
PRODUCER("판매자"),
ADMIN("관리자");
private final String description;
위와 같은 경우에는 매개변수가 있는 생성자가 반드시 필요하는데 enum 상수의 괄호 안에 넣은 값이 해당 생성자 쪽으로
전달되며 enum 인스턴스가 생성된다.
요소들이 가지는 기본 네임과 정수 값과 외부 값을 외부에서 사용하려고 할 때 필드로 작성한 값을 반환하도록
메소드를 작성 할 수 있다.
UserRole2(String description){
System.out.println("description : "+description);
this.description =description;
//게스트가 생성될때, 그 값을 전달 받고 그 값을 초기화 시킨다.
}
그런데 enum을 꼭 써야 할까? 그건 No!
열거형(enum)은 일정한 범위 내에서 정해진 값을 가지는 상수들을 표현하기 위한 자바의 특별한 데이터 타입인데
열거형을 사용하면 프로그램 코드를 더욱 간결하고 가독성 있게 작성할 수 있다
또한 열거형을 사용하면, 상수들이 사전에 정의되어 있기 때문에 상수값의 오타나 잘못된 값이 사용되는 것을 방지할 수 있어서 사용하는 것이다. 또한, 코드의 가독성을 높여줌으로써 유지보수를 더욱 쉽게 할 수 있다.
따라서, 열거형을 사용하는 것은 코드의 안정성과 가독성을 높이는데 큰 도움을 주는데 하지만, 모든 상황에서 열거형을 사용해야 하는 것은 아니며, 사용하는 상황과 용도에 따라 적절하게 선택하여 사용해야 한다!
'java' 카테고리의 다른 글
람다(lambda)식 API (0) | 2023.04.06 |
---|---|
람다(lambda)식 사용해보기 (0) | 2023.04.05 |
java Exception13 (1) | 2023.01.09 |
java Collection12-Set,Linked,Map (0) | 2023.01.09 |
java Collection12 -list3,4 (0) | 2023.01.06 |