객체 지향 프로그래밍 입문 - 최범균님의 인프런 강좌을 보고 작성하였습니다.
상속(Inheritance)이란
상위 클래스의 기능을 재사용, 확장하는 방법
상속을 통한 기능 재사용시 발생할 수 있는 단점
- 상위 클래스 변경 어려움
- 클래스 증가
- 상속 오용
상속의 단점 해결 방법은 -> 조립!!
조립(Composition)
여러 객체를 묶어서 더 복잡한 기능을 제공
보통 필드로 다른 객체를 참조하는 방식으로 조립 또는 객체를 필요 시점에 생성/구함
특정 기능을 재사용 하고 싶다면 특정 객체를 생성하여 사용
상속보다는 조립
상속하기에 앞서 조립으로 풀 수 없는지 검토
진짜 하위 타입인 경우에만 상속 사용