package enumerate;
public interface InterfaceOne {
//상수필드(Constant Field) 선언 - public static final 제한자 생략 가능
// => 클래스에도 선언 가능하지만 보다 쉬운 상수 선언을 위해 인터페이스에 선언
//상수(Constant) : 프로그램에서 값(리터럴) 대신 사용하기 위한 의미있는 단어(식별자)
int INSERT=1,UPDATE=2,DELETE=3,SELECT=4;
}
package enumerate;
public interface InterfaceTwo {
int ADD=1,MODIFY=2,REMOVE=3,SEARCH=4;
}
package enumerate;
//인터페이스 또는 클래스에 상수필드를 선언한 경우의 단점
// => 상수필드를 값을 대표하는 단어(식별자)로 사용하기 부적절
// => 상수필드가 선언된 인터페이스 또는 클래스가 아무런 의미 없이 접근 용도로만 사용
//위와 같은 단점을 해결하기 위해 Java에서 열거형(enum)이라는 자료형(참조형)을 제공
public class InterfaceApp {
public static void main(String[] args) {
//인터페이스에 선언된 상수필드값 출력 - 필드에 저장된 값이 제공되어 출력
System.out.println("삽입 = "+InterfaceOne.INSERT);
System.out.println("변경 = "+InterfaceOne.UPDATE);
System.out.println("삭제 = "+InterfaceOne.DELETE);
System.out.println("검색 = "+InterfaceOne.SELECT);
System.out.println("=======================================================");
System.out.println("삽입 = "+InterfaceTwo.ADD);
System.out.println("변경 = "+InterfaceTwo.MODIFY);
System.out.println("삭제 = "+InterfaceTwo.REMOVE);
System.out.println("검색 = "+InterfaceTwo.SEARCH);
System.out.println("=======================================================");
//상수필드에 저장된 값과 동일한 자료형(원시형)의 변수를 생성하여 상수 저장 가능
int choice=InterfaceOne.INSERT;//int choice=1;
System.out.println("선택 = "+choice);
System.out.println("=======================================================");
switch (choice) {
//case InterfaceOne.INSERT:
case InterfaceTwo.ADD:
System.out.println("# 학생정보를 삽입합니다. #");
break;
case InterfaceOne.UPDATE:
System.out.println("# 학생정보를 변경합니다. #");
break;
case InterfaceOne.DELETE:
System.out.println("# 학생정보를 삭제합니다. #");
break;
case InterfaceOne.SELECT:
System.out.println("# 학생정보를 검색합니다. #");
break;
}
System.out.println("=======================================================");
}
}