인터페이스는 객체간 상호 작용을 위한 일종의 규약입니다.
1. 인터페이스란?
인터페이스란 물체들 사이에서 상호작용을 하기 위한 매개역할을 하는것
클래스가 설계도라면 인터페이스는 설게할 때 필요한 목록을 써놓은 종이에 비유합니다.
종이를 바탕으로 설계도를 작성하듯 프로그래머는 인터페이스를 바탕으로 클래스를 작성합니다.
2. 인터페이스 문법
인터페이스는 상수와 추상 메서드를 멤버로 가질 수 있습니다.
추상 메서드와 일반 멤버를 모두 가질 수 있는 추상클래스보다 더 기본적인 구조라고 합니다. 인터페이스는 키워드로 interface를 사용하며 제어자로 상수 앞에는 public final static을 메서드 앞에는 public abstract를 붙입니다.
package chapter08;
public class exam55 {
public static void main(String[] args) {
TourGuide guide = new TourGuide();
guide.leisureSports();
guide.sightseeing();
guide.food();
}
}
package chapter08;
interface Providable {
void leisureSports();
void sightseeing();
void food();
}
class KoreaTour implements Providable {
@Override
public void leisureSports() {
System.out.println("한강에서 수상스키 투어");
}
@Override
public void sightseeing() {
System.out.println("경복궁 관람 투어");
}
@Override
public void food() {
System.out.println("전주 비빔밥 투어");
}
}
class JapanTour implements Providable {
@Override
public void leisureSports() {
System.out.println("도쿄타워 번지점프 투어");
}
@Override
public void sightseeing() {
System.out.println("오사카 관람 투어");
}
@Override
public void food() {
System.out.println("초밥 투어");
}
}
class TourGuide {
private Providable tour = new KoreaTour();
// private Providable tour = new JapanTour();
public void leisureSports() {
tour.leisureSports();
}
public void sightseeing() {
tour.sightseeing();
}
public void food() {
tour.food();
}
}
'JAVA > 추상클래스와 인터페이스, 내부클래스' 카테고리의 다른 글
내부 클래스 (0) | 2025.05.12 |
---|---|
추상 메서드와 추상 클래스 (1) | 2025.05.12 |