다형성과 설계
객체 지향 프로그래밍: 객체들들이 메세지를 주고받고 데이터를 처리
다형성은 역할과 구현으로 세상을 구분 하는 것
- 클라이언트는 구현 대상 자체가 변경해도 영향을 받지 않고, 대상의 역할(인터페이스)만 알면 된다.
- 유연, 변경 용이
역할 = 인터페이스
구현 = 인터페이스를 구현한 클래스
자바 언어의 다형성 ⇒ 오버라이딩
OCP(Open - Closed Principle)
- 새로운 기능이 추가 되었을 때, 기존 코드는 확장할 수 있다.
- 기존의 코드는 수정되지 않아야 한다.
운전자는 자동차 인터페이스만 참조해 자동차 역할에만 의존한다.
새로운 차량을 추가해도 운전자의 코드는 바뀌지 않는다.
'BACK > JAVA' 카테고리의 다른 글
[JAVA] 자바 메모리 구조와 static (0) | 2024.05.16 |
---|---|
[JAVA] 실전 자바 - 다형성(추상 클래스, 인터페이스) (0) | 2024.01.30 |
[JAVA] 다형성(다형적 참조, 메서드 오버라이딩) (1) | 2024.01.30 |
[JAVA] 상속과 오버라이딩, super (0) | 2024.01.30 |
[JAVA] Final 키워드 (1) | 2024.01.30 |