컴퓨터공학 💻 도서관📚
Part2. 3-7 상속은 언제 사용 할까? 본문
IS-A 관계(is a relationship : inheritance , 이서관계?) --> 협력업체
- 일반적인(general) 개념과 구체적인(specific) 개념과의 관계
- 상위 클래스(베이스 클래스) : 하위 클래스보다 일반적인 개념 ( 예: Employee : 직원 )
- 하위 클래스(드라이브 클래스) : 상위 클래스보다 구체적인 개념들이 더해짐 ( 예: Engineer, Manager...)
- 상위 클래스의 수정이 많으면 하위 클래스에 영향을 미칠 수 있음
- 상위 클래스에서는 좀 더 일반적인 구현을 하고 하위 클래스에서는 그거에 대해서 또 재정의를 해서 사용할 수 있게끔 하자
- 상속은 클래스간의 결합도가 높은 설계이기 때문에 복잡하는 하는 거는 좋은 설계가 아니다.
- 계층구조가 복잡하거나 계층(hierarchy) 단계가 높으면 좋지 않음
HAS-A 관계(composition : 구성 , 해저관계?) --> 자회사
- 클래스가 다른 클래스를 포함하는 관계 ( 변수로 선언 )
- ex) Student가 Subject를 포함하는 관계
- 좋은 클래스를 재활용하고 싶다고 해서 무조건 상속을 받는 건 아니다라는 거다. 여기선 포함을 한다.
- 코드 재사용의 가장 일반적인 방법
- Library를 구현할 때 ArrayList 생성하여 사용한다. 즉 포함한다.
- 상속하지 않고 포함한다.
'✅🌲강의 복습 노트 > 패캠 JavaSpring 강의,코드 복습' 카테고리의 다른 글
Part2. 3-9 추상 클래스(abstract class) 구현하기 (1) | 2025.06.06 |
---|---|
Part2. 3-8 다운 캐스팅과 instanceof (0) | 2025.06.05 |
Part2. 3-6 다형성과 다형성을 사용하는 이유 (0) | 2025.05.26 |
Part2. 3-5 메서드 재정의와 가상 메서드 원리 (0) | 2025.05.23 |
Part2. 3-4 메서드 재정의하기 (overriding) (1) | 2025.05.22 |
Comments