상세 컨텐츠

본문 제목

JAVA enum 열거형

BackEnd/JAVA

by H_Develop 2022. 7. 29. 16:24

본문

 

열거형 (enum)

 

상수를 가지고 생성되는 객체들을 한 곳에 모아둔 하나의 묶음이다.
변수를 사용자가 지정한 이름으로 0부터 순차적으로 증가시켜준다.
여기서 사용되는 주요 함수로
String name() 열거 객체의 문자열을 리턴
int ordinal() 열거 객체의 순번(0부터 시작)을 리턴
int compareTo() 열거 객체를 비교해서 순번 차이를 리턴
열거 타입 valueOf(String name) 주어진 문자열의 열거 객체를 리턴
열거 배열 values() 모든 열거 객체들을 배열로 리턴

1. 열거형으로 선언된 순서에 따라 0부터 index 값을 가진다. (순차적으로 증가)
2. enum 열거형으로 지정된 상수들은 모두 대문자로 선언한다.
3. 열거형 변수들을 선언한 후 마지막에 세미콜론(;)을 찍지 않아도 된다.
4. 상수와 특정 값을 연결시킬경우 마지막에 세미콜론(;)을 붙여줘야한다.

 

import java.util.Scanner;
public class ex2 {
	public enum Item {		// 열거형 클래스 선언
		Start, Pause,Exit	// ; 안찍어도 오류가 아니다.
	}
	public static void main(String[] args) {
		while(true) {
			System.out.println("0 : Game Start");
			System.out.println("1 : Game Pause");
			System.out.println("2 : Game Exit");
			Scanner sc = new Scanner(System.in);
			int n = sc.nextInt();
			
			Item Start = Item.Start;	// enum 객체 생성
			Item pause = Item.Pause;
			Item Exit = Item.Exit;
			
			if (n==Start.ordinal()) {	// ordinal() 사용
				System.out.println("Game starting...");
			} else if (n==pause.ordinal()) {
				System.out.println("Game interrupted...");
			} else {
				System.out.println("Game over");
			}
		}
	}
}

 

 

class df{
	public enum Company {
	    SK("에스케이"),
	    LG("엘쥐"),
	    KT("케이티"),
	    SAMSUNG("삼성"),
	    APPLE("애플");
	    private final String value;
	    Company(String value){
	        this.value = value;
	    }
	    public String getValue(){
	        return value;
	    }

	}
	public static void main(String[] args) {
		Company a = Company.SK;

			System.out.println(a.SK.getValue());
	}
}

 

 

enum Mobile {	// enum class declaration
	Samsung(400), Nokia(250), Motorola(325);	// member constant
	int price;
	Mobile (int p) {	// member method definition1
		price = p;
	}
	int showPrice() {	// member method definition2
		return price;
	}
}
public class ex2 {
	public static void main(String[] args) {
		System.out.println("Cellular Phone List : ");
		for(Mobile m : Mobile.values()) {	// for 문에서 상수 변수들을 돌릴 때, 사용
			System.out.println(m + "costs " + m.showPrice() + " dollars, sir/mam");
		}
		Mobile rate;
		rate = Mobile.valueOf("Samsung");
		System.out.println("Selected : " + rate);
	}
}

 

관련글 더보기