상속은 is-a 관계라서
클래스 사이에 진짜 계층적 분류가 있을떄만 사용해야하는 국지적인 범위로 줄어듬
확장방식 자체가 override나 서브클래싱을 함
문제가 OCP 위반이 될 확률이 높음->기존 부모 클래스를 건드려야함
따라서 한번 물려받은 부모클래스 기반을 수정한다는건 자식도 수정해야하고, 기능 제거가 어려움. 즉 매우 강한 결합임
하지만 컴포지션은 has-a 관게임
일반적으로 현대화된 프로그래밍은 객체에 기능/행동 단위를 조립함
따라서 모듈, 또는 전략(인터페이스)를 교체함
따라서 개별 기능 유닛 테스트가 가능함
확장도 유연하고, 유니티에서 시리얼라이즈 필드가 그렇게 모듈 삽입하는거고, DI 패턴도 그런거임
컴포즈 커피 ㅇㄷ
보지 섹스
inheritance over composition
아 반대로 적음 ㅋㅋㅋ
기분이 좋아서