11장 합성과 유연한 설계


11장 합성과 유연한 설계

합성 합성은 전체를 표현하는 객체가 부분을 표현하는 객체를 포함해서 객체의 코드를 재사용 합성 관계는 has-a 합성은 구현에 의존하지 않는다. 합성은 내부에 포함되는 객체의 구현이 아닌 퍼블릭 인터페이스에 의존 상속 관계는 클래스 사이의 정적인 관계, 합성은 동적인 관계 코드 작성 시점에 결정한 상속 관계는 변경이 불가능하지만 합성 관계는 실행 시점에 동적으로 변경할 수 있다. 코드 재사용을 위해서는 객체 합성이 클래스 상속보다 더 좋다. 불필요한 인터페이스 상속 문제 해결 public class Stack<E> { private Vector<E> elements = new Vector<>(); public E push(E item) { elements.addElement(item); return item; } public E pop() { if(elements.isEmpty()) { throw new EmptyStackException(); } return elements.rem...


#OOP #상속 #인터페이스 #추상클래스 #합성

원문링크 : 11장 합성과 유연한 설계