• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

다형성에서 클라이언트가 의미하는게 무엇인지 궁금합니다.

24.02.28 14:48 작성 조회수 108

0

 

다형성의 본질은

 

클라이언트를 변경하지 않고, 서버의 구현한 기능을 유연하게 변경할 수 있다라고 하셨는데

 

여기서 말하는 클라이언트는 결국 Car와 같이 기본이 되는 인터페이스를 의미하는건가요?

답변 1

답변을 작성해보세요.

0

David님의 프로필

David

2024.02.29

안녕하세요. 이정빈님, 공식 서포터즈 David입니다.

Driver 클래스는 drive 메서드를 통해 car의 startEngine, pressAccelerator, offEngine을 호출합니다. 이 부분이 클라이언트(Driver)가 서버(Car 인터페이스를 구현한 구현체)의 기능을 호출하고 있는 것입니다. 따라서, Driver를 클라이언트로 보시면 됩니다.

class Driver {

  private Car car;

  public Driver(Car car) { this.car = car }

  drive() {

     car.startEngine();

     car.pressAccelerator();

     car.offEngine();

  }

}

Interface Car {

  startEngine();

  pressAccelerator();

  offEndine();

}

class Model3Car implements Car {

  startEngine() { 

    // 3초간 시동 버튼을 눌러야 한다.

  }

}

class Model5Car implements Car {

  startEngine() { 

    // 5초간 시동 버튼을 눌러야 한다.

  }

}

감사합니다.