728x90
대개 상위 클래스의 기능을 재사용, 확장하는 방법으로 활용
# 단점
- 상위 클래스 변경의 어려움 존재
- 상위클래스의 변경이 모든 하위클래스에 영향을 미침
- 앞으로 어떤 하위클래스가 추가될 지 모르기에 영향력의 크기가 점점 증가
- 캡슐화가 약해짐
- 하위클래스는 상위클래스가 어느정도 어떠한 동작을 하는지를 알아야 하는 경우가 발생
=> 상위클래스는 하위클래스에게 캡슐화의 의미가 약해지고이따지요
- 하위클래스는 상위클래스가 어느정도 어떠한 동작을 하는지를 알아야 하는 경우가 발생
- 상위클래스의 변경이 모든 하위클래스에 영향을 미침
- 클래스의 불필요한 증가
- 새로 클래스가 생성될 때마다 또 다른 하위 크래스가 생성
- 어떤 클래스를 상속받아서 구현을 진행해야하는지 불명확한 상태가 발생하기도 함
- 상속 오용
- 상속받은 메소드의 오용이 발생
# 그럼 워떠케?
조립하자!!
# 조립(Composition)
- 여러 객체를 묶어 더 복잡한 기능을 제공
- 보통 필드로 다른 객체를 참조하는 방식으로 조립하거나 객체를 필요하는 시점에 생성
- 필드나 메소드에서 객체 생성후 재사용 하는 방식으로 구현
=> 다양한 기능을 하는 객체를 조립하여 더 복잡한 기능을 제공
# 조립의 이점
- 불필요한 클래스 증식 문제 해결 : 특정 기능 재사용 가능
# 그래서 결론이 뭔뎁?
- 상속으로 구현하기 전에 객체의 조립으로 해결할 수 있는지에 대하여 한번 더 생각해보기
- 진짜 하위 타입인 경우에만 상속구현을 사용하길 바람.
728x90
'🦁 걸어봐 위엄 라잌어 라이옹 > 👀 주차별 과제' 카테고리의 다른 글
[대학교멋사🦁/OOD] 5. 의존과 DI(의존 주입) (0) | 2023.05.05 |
---|---|
[대학교멋사🦁/OOD] 4. 기능과 책임 분리 (0) | 2023.05.05 |
[대학교멋사🦁/OOD] 2. 다형성 추상화 (0) | 2023.05.04 |
[대학교멋사🦁/OOD] 1. 객체 | 캡슐화 (1) | 2023.05.04 |
[대학교멋사🦁/JAVA] Assignment_2회차_3 (1) | 2023.04.28 |