구성이란 클래스의 특정 기능을 수행하기 위해 다른 '객체 패밀리'의 유사하거나 같은 역할을 하는 메소드를 사용하기 위해 클래스들끼리 대등한 관계로 결합된 구조이다. 이렇게 객체를 구성하면, 기존 코드를 고치는 대신 새로운 '객체 그룹군'을 만들거나 이미 만들어진 '객체 그룹군의 자식 클래스'를 변경하여 기능의 추가, 수정을 자유롭게 제어할 수 있다.
그래서 기존 코드를 건들었을 때 발생하는 생각하지 못한 버그(=부작용)가 연쇄 작용하는 것을 막을 수 있다. 기존 코드의 수정이 아닌 확장으로, 기존 프로그램 구성을 안전하게 지키면서 어플리케이션을 개선할 수 있다.
마치 상속이 한 번 정한 정책은 수정하기 힘들고 위에서 명령한 것은 억지로 따라야 하는 경직된 관료조직과 같다면, 구성은 급변하는 시장 환경에 빠르게 적응하고 직원 개인의 특성을 잘 살려주는 바람직한 기업 현장의 조직과 같다.
'Dev. Java' 카테고리의 다른 글
자바 동기화(synchronezed) 하는 방법 (0) | 2016.10.30 |
---|---|
초보 개발자를 위한 스택트레이스 읽는 법 (0) | 2016.07.21 |
추상화, 캡슐화, 다형성 (0) | 2016.06.29 |
소스 수정 기본 프로세스 (0) | 2016.04.13 |
Java EE와 Java SE의 차이점 (0) | 2016.02.13 |