인터페이스
접근제어자 interface 인터페이스이름 {
public static final 타입 상수이름 = 값; // 상수는 선언과 동시에 초기화 필수!
...
public abstract 메소드이름(매개변수목록);
...
}
- 인터페이스 내부에 선언하는 변수는 무조건 public static final이다.
- 인터페이스 변수는 상수로, 반드시 선언 시에 값을 대입해줘야 한다.
- 인터페이스 내부에 선언하는 메소드는 몸체가 없는 추상메소드이다.
인터페이스 사용 이유
- 개발 코드 안에서 여러 개의 객체를 변환해서 사용하고 싶을 때 개발코드를 수정하지 않고 사용하기 위해 인터페이스 사용함
- 개발코드를 수정하지 않고도 여러 객체 받아올 수 있으므로 인터페이스를 참조 변수의 타입으로 설정
class Buyer { // 고객
int money = 1000; // 소유금액
void buy(Product p) {
// 매개 변수가 Product 타입의 참조변수. Product 클래스의 자손 클래스 Tv, Computer의 참조변수를 한번에 매개변수로 받아들일 수 있음.
// 앞으로 다른 제품 클래스를 추가할 때 Product클래스를 상속받기만 하면, buy(Product p)메서드의 매개변수로 받아들여질 수 있다.
if(money<p.price) {
System.out.println("잔액이 부족하여 물건을 살수 없습니다.");
return;
}
money -= p.price; // 가진 돈에서 구입한 제품의 가격을 뺀다.
}
}
'JAVA' 카테고리의 다른 글
[Java] 예외처리 (0) | 2023.06.22 |
---|---|
[Java] 컬렉션 프레임워크 (ArrayList, HashMap) (0) | 2023.06.21 |
[Java] Object 클래스, 다형성 (0) | 2023.06.20 |
[Java] 오버로딩, 오버라이딩 (0) | 2023.06.19 |
[Java] 생성자 내에서 생성자 호출하기 (0) | 2023.06.09 |