다형성에서 클라이언트가 의미하는게 무엇인지 궁금합니다.
235
작성한 질문수 2
다형성의 본질은
클라이언트를 변경하지 않고, 서버의 구현한 기능을 유연하게 변경할 수 있다라고 하셨는데
여기서 말하는 클라이언트는 결국 Car와 같이 기본이 되는 인터페이스를 의미하는건가요?
답변 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초간 시동 버튼을 눌러야 한다.
}
}감사합니다.
질문있습니다
0
29
1
1번 문제 질문입니다.
0
35
1
음악플레이어 문제 중 코드질문
0
28
1
9장 상속 문제와 풀이 질문
0
38
1
강의 자료에 사소한 오타가 있습니다.
0
50
2
매서드 참조값 반환??
0
67
1
접근제어자 - 쇼핑카트 문제에서 상품출력 부분 메서드
0
71
1
자바 기본편 - .(dot)에 관한 질문입니다!
0
85
1
공부방법
0
77
2
상속관계에서 멤버 변수는 오버라이딩 되는 개념이 아닌가요?
0
82
1
static method 질문
0
67
1
캡슐화 문제풀이 ShoppingCart 요구사항에 문제가 있어보입니다. 피드백 주세요
0
98
1
Method1에서 Student 객체
0
74
1
3강 18. null 질문
0
69
1
this 와 super의 호출 순서는 부모-자식관계 떄문만인가요?
0
77
1
팩토리 메서드 패턴과 일반 생성자 사용의 장단점
0
97
1
문의
0
104
1
9장 상속 문제와 풀이 부분 궁금한게 있어서 질문드립니다
0
90
1
상속과 그에 따른 메모리 구조 질문
0
62
1
call메소드에서 멤버에 접근하는 방식을 이해 못 했습니다
0
74
1
수강기한
0
136
1
기본편 객체지향 프로그래밍에 대한 정의
0
88
1
섹션10 상속 메모리 구조 및 문제 관련 질문
0
87
1
추가 지식 학습
0
153
2





