자바 - 연습문제6

빵제이·2023년 7월 26일
0

자바 연습문제

목록 보기
7/10

[ 메인 메소드 ]

  • 메인 메소드를 보고 출력되도록 만들기.
public class MainWrapper {

  public static void main(String[] args) {
    
	TourGuide guide1 = new TourGuide();
    guide1.setTour(new HawaiiTour());
    guide1.sightseeing();
    guide1.leisure();
    guide1.meal();
    
	TourGuide guide2 = new TourGuide();
    guide2.setTour(new JapanTour());
    guide2.sightseeing();
    guide2.leisure();
    guide2.meal();

  }

[ 여행 인터페이스 ]

//인터페이스를 만들면 무조건 인터페이스(Tour)를 타입으로 쓴다.
public interface Tour {
  void sightseeing();
  void leisure();
  void meal();
  
}

[ 여행 가이드 클래스 ]

public class TourGuide implements Tour {

  // Field
  private Tour tour;

  // Method
  public Tour getTour() {
    return tour;
  }

  public void setTour(Tour tour) {
    this.tour = tour;
  }
  
  public void sightseeing() {
    tour.sightseeing();
  }
  
  public void leisure() {
    tour.leisure();
  }
  
  public void meal() {
    tour.meal();
  }
}

[ 하와이 여행 클래스 ]

public class HawaiiTour implements Tour {

  @Override
  public void sightseeing() {
    System.out.println("와이키키해변");

  }

  @Override
  public void leisure() {
    System.out.println("헬기투어");

  }

  @Override
  public void meal() {
    System.out.println("파인애플피자");

  }
}

[ 일본 여행 클래스 ]

public class JapanTour implements Tour {

  @Override
  public void sightseeing() {
    System.out.println("돈키호테");

  }

  @Override
  public void leisure() {
    System.out.println("온천");

  }

  @Override
  public void meal() {
    System.out.println("스시");

  }
}
profile
개인 아카이브

0개의 댓글