-
11주차 과제: Enum #11JAVA 기본 2021. 2. 28. 21:22728x90
목표
자바의 열거형에 대해 학습하세요.
학습할 것 (필수)
- enum 정의하는 방법
- enum이 제공하는 메소드 (values()와 valueOf())
- java.lang.Enum
- EnumSet
상수
변하지 않는 값
enum(열거형) 정의하는 방법
1.사과
2.바나나
3.포토
를 상수로 정의 하는 방법이다.
enum Fruit{
APPLE,PEACH,BANANA
}
// == 열거형이 없다면
class Fruit{
public static final Fruit APPLE = new Fruit();
public static final Fruit PEACH= new Fruit();
public static final Fruit BANANA= new Fruit();
}
//이렇게 해야한다.
사용
switch(type){
case APPLE:
case PEACH
case BANANA
}
장점
1. 연관된 상수들을 저장
2. 그것자체가 클래스이다.
3. 상수들을 담은 배열을 가지고 올 수 있다.
열거형과 생성자
열거형도 하나의 클래스이기 때문에 생성자가 호출 가능하다.
enum Fruit
APPLE("red"), PEACH("pink"), BANANA("yellow")
public String color;
Fruit(String color){
System.out.println("Call Constructor" +this);
this.color = color;
}
enum이 제공하는 메소드 (values()와 valueOf())
열거형이 클래스와 다른점은 열거형에 뭐가 들어가 있는지 몰라도
배열처럼 하나씩 뽑아 쓸 수 있다는것이다.
for(Fruit f : Fruit.values()){
System.out.println(f);
}
+for in구문
:뒤에 숫자들을
:앞으로 넣어준다.
valueOf() 메소드
valueOf() 메소드는 전달된 문자열과 일치하는 해당 열거체의 상수를 반환하는것
java.lang.Enum
Enum 클래스는 모든 자바 열거체의 공통된 조상 클래스
Enum 클래스에는 열거체를 조작하기 위한 다양한 메소드가 포함되어 있다.
EnumSet
열거형들을 배열처럼 사용하는것이다.
Set 인터페이스를 기반으로 하면서 enum 열거요소들을 이용해서 보다 빠르고 강력하게 결과를 도출해낼수 있도록 자바 5에서 등장한 새로운 문법 하나
'JAVA 기본' 카테고리의 다른 글
13주차 과제: I/O #13 (0) 2021.02.28 12주차 과제: 애노테이션 #12 (0) 2021.02.28 10주차 과제: 멀티쓰레드 프로그래밍 #10 (0) 2021.02.28 9주차 과제: 예외 처리 #9 (0) 2021.02.27 8주자 과제: 인터페이스 #8 (0) 2021.02.24