-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
다형성에서 클라이언트가 의미하는게 무엇인지 궁금합니다.
24.02.28 14:48 작성 조회수 108
0
다형성의 본질은
클라이언트를 변경하지 않고, 서버의 구현한 기능을 유연하게 변경할 수 있다라고 하셨는데
여기서 말하는 클라이언트는 결국 Car와 같이 기본이 되는 인터페이스를 의미하는건가요?
답변을 작성해보세요.
0
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초간 시동 버튼을 눌러야 한다.
}
}
감사합니다.
답변 1