[Java 12-5 InterfaceApp] 상수필드

임승현·2022년 10월 18일

Java

목록 보기
46/126
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("=======================================================");
	}
}

0개의 댓글