2018-4-30 열거형
열거형이란
- 열어형은 의미가 부여된 이름을 갖는 상수의 선언에 목적이 있다.
인터페이스기반 상수정의
package yoon;
interface Scale2 {
int DO = 0; int RE = 1; int MI = 2; int FA = 3;
int SO = 4; int RA = 5; int TI = 6;
}
public class InterfaceBaseConst {
public static void main(String[] args) {
int sc = Scale2.DO;
switch (sc) {
case Scale2.DO:
System.out.println("도~ ");
break;
case Scale2.RE:
System.out.println("레~ ");
break;
case Scale2.MI:
System.out.println("미~ ");
break;
case Scale2.FA:
System.out.println("파~ ");
break;
default:
System.out.println("솔~ 라~ 시~ ");
}
}
}
//result
도~
인터페이스 내에 선언된 변수는 public, static, final이 선언된 것으로 간주된다.
자료형의 부여를 돋는 열거형
enum Scale3 { // 열거 자료형 Scale의 정의
DO, RE, MI, FA, SO, RA, TI
}
- 안에 위치한 이름들을 가리켜 열거형 값 이라고 한다.
- 참조변수 선언도 가능하다.
package yoon;
enum Scale {
DO, RE, MI, FA, SO, RA, TI
}
public class SimpleEnum {
public static void main(String [] args) {
Scale sc = Scale.DO;
System.out.println(sc);
switch (sc) {
case DO:
System.out.println("도~");
break;
case RE:
System.out.println("레~");
break;
case MI:
System.out.println("미~");
break;
case FA:
System.out.println("파~");
break;
default:
System.out.println("솔~ 라~ 시~");
break;
}
}
}
//result
DO
도~
package yoon;
enum Animal {
DOG, CAT
}
enum Person {
MAN, WOMAN
}
public class SafeEnum {
public static void main(String[] args) {
who(Person.MAN);
}
public static void who(Person man) {
switch (man) {
case MAN:
System.out.println("남성입니다.");
break;
case WOMAN:
System.out.println("여성입니다.");
break;
}
}
}
//result
남성입니다.
who(Animal.dog); => 에러. Person형이 아니라 Animal형을 전달을 해서 컴파일 에러 발생.
Written on April 30, 2018