강의

멘토링

커뮤니티

Inflearn Community Q&A

ijbin43275203's profile image
ijbin43275203

asked

Kim Younghan's Practical Java - Basics

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

Written on

·

229

0

 

다형성의 본질은

 

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

 

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

java객체지향

Answer 1

0

안녕하세요. 이정빈님, 공식 서포터즈 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초간 시동 버튼을 눌러야 한다.

  }

}

감사합니다.

ijbin43275203's profile image
ijbin43275203

asked

Ask a question