스프링을 공부하다 보니 결합도와 응집도에 대해서 얘기가 나오고, 결합도는 낮추고 응집도(응집력)은 높여야 한다 라는 말이 자주 등장하여 둘의 개념을 자세히 정리하고자 포스팅을 한다. * 모듈이란 무엇인가? 소프트웨어를 기능 별로 나누는 것을 모듈화, 모듈화의 결과로 기능 별로 분할된 것을 모듈이라고 한다. 모듈화의 장점 시스템의 이해가 쉽다. 시스템의 유지 관리가 용이하다. 재사용이 가능하다. * 결합도(Coupling) 모듈 간의 관계(inter-module)를 나타낸다. 모듈과 모듈 간의 상호 의존도를 이야기한다. 낮은 결합도를 가지는 것을 권장한다. 메시지 결합도 (가장 낮은 결합도) 컴포넌트간의 통신이 파라메터나 message passing을 통해서 이루어진다. 자료 결합도 모듈들이 파라메터 등을..