열겨형 - 상수 집합 / 상태처리 할때 많이 사용함
열거형
여러 상수들을 보다 편리하게 선언할수 있는 문법 요소
상수란? 변하지 않는 것 (요일, 계절, 동서남북, 12개월...) final 키워드 사용
실제로 쓸때 현실세계에 쓰기보단 상태에 많이 사용(회원의 상태, 상품의 상태, 상품의 옵션...등등)
class Seasons {
public static final Seasons SPRING = new Seasons();
public static final Seasons SUMMER = new Seasons();
public static final Seasons FALL = new Seasons();
public static final Seasons WINTER = new Seasons();
}
class Frameworks {
public static final Frameworks DJANGO = new Frameworks();
public static final Frameworks SPRING = new Frameworks();
public static final Frameworks NEST = new Frameworks();
public static final Frameworks EXPRESS = new Frameworks();
}
이렇게 쓰면 switch 문 사용 할수 없음
enum을 사용해서 아래처럼 사용
enum Seasons { SPRING, SUMMER, FALL, WINTER }
enum Frameworks { DJANGO, SPRING, NEST, EXPRESS }
enum Seasons {SPRING, SUMMER, FALL, WINTER}
public class Main {
public static void main(String[] args) {
Seasons seasons = Seasons.SPRING;
switch (seasons) {
case SPRING:
System.out.println("봄");
break;
case SUMMER:
System.out.println("여름");
break;
case FALL:
System.out.println("가을");
break;
case WINTER:
System.out.println("겨울");
break;
}
}
}
switch문을 사용할 수 있음
즉 열거형(enum)은 여러 상수들을 보다 편리하게 선언하고 관리할수 있으며 상수 명의
중복을 피하고 타입에 대한 안정성을 보장함
또한 간결하고 가독성이 좋은 코드를 작성할수 있음
열거형의 사용
상수는 대소문자로 모두 작성이 가능하지만, 관례적으로 대문자로 작성함
enum 안에 상태(속성)를 주입하는 순간 생성자는 필수임!!
enum 자체는 클래스임 메서드 받을수 있음
next() 받을수 있음
'IT > JAVA' 카테고리의 다른 글
JAVA - Collection 3) 예외처리 (1) | 2024.11.29 |
---|---|
JAVA - Collection 2) 제네릭 (0) | 2024.11.29 |
JAVA - 객체 지향 심화 3) 추상화 (0) | 2024.11.27 |
JAVA - 객체 지향 심화 2) 캡슐화 (0) | 2024.11.27 |
JAVA - 객체 지향 심화 1) 상속 (0) | 2024.11.27 |