코드의 재사용과 관련해서 2가지 방법을 사용할 수 있다.
IS-A 관계 (is a relationship : inheritance)
- 일반적인 (general) 개념과 구체적인 (specific) 개념과의 관계
- 상위 클래스 : 하위 클래스보다 일반적인 개념 (예 : Employee)
- 하위 클래스 : 상위 클래스보다 구체적인 개념들이 더해짐 (예 : Engineer, Manager … )
- 상속은 클래스간의 결합도가 높은 설계
- 상위 클래스의 수정이 많은 하위 클래스에 영향을 미칠 수 있음
- 계층 구조가 복잡하거나 hierarchy가 높으면 좋지 않음 (상속의 depth가 깊은 경우)
HAS-A 관계 (composition)
- 클래스가 다른 클래스를 포함하는 관계 (변수로 선언)
- 코드 재사용의 가장 일반적인 방법
- Student가 Subject를 포함하는
- Library를 구현할 때 ArrayList 생성하여 사용
- 상속하지 않음
2023 KAKAO Tech Campus_BackEnd 필수 과정
Java 3주차 강의 정리 내용입니다.
'개발 > Java' 카테고리의 다른 글
[3주차] Java 중급 - 추상 클래스의 의미와 구현하는 방법 (0) | 2023.06.25 |
---|---|
[3주차] Java 중급 - 다운 캐스팅과 instanceof (0) | 2023.06.25 |
[3주차] Java 중급 - 다형성과 다형성을 사용하는 이유 (0) | 2023.06.25 |
[3주차] Java 중급 - 메서드 재정의와 가상 메서드 원리 (0) | 2023.06.25 |
[3주차 Java 중급] - 메서드 재정의 하기(overriding) (0) | 2023.06.25 |