JAVA/추상클래스와 인터페이스, 내부클래스

인터페이스

별초롱언니 2025. 5. 12. 17:19

인터페이스는 객체간 상호 작용을 위한 일종의 규약입니다. 

 

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