[Object] 응집도와 결합도

업데이트:

응집도(Cohesion)

모듈에 포함된 내부 요소들이 연관돼 있는 정도를 나타낸다. 모듈 내의 요소들이 하나의 목적을 위해 긴밀히 협력한다면 그 모듈은 높은 응집도를 가진다.

  • 변경이 발생할 때 모듈 내부에서 발생하는 변경의 정도

하나의 변경을 수용하기 위해 모듈 전체가 함께 변경이된다면 응집도가 높은 것이고 모듈의 일부만 변경된다면 응집도가 낮은 것이다.

결합도(Coupling)

의존성의 정도를 나타내며 다른 모듈에 대해 얼마나 많은 지식을 갖고 있는지를 나타내는 척도다. 어떤 모듈이 다른 모듈에 대해 너무 자세한 부분까지 알고 있다면 두 모듈은 높은 결합도를 가진다.

  • 한 모듈이 변경되기 위해서 다른 모듈의 변경을 요구하는 정도

결합도가 높을 수록 함께 변경해야 하는 모듈의 수가 늘어나기 때문에 변경이 어럽다.


좋은 설계란 높은 응집도를 가지고 결합도는 느슨해야 한다. 그 이유는 설계를 변경하기 쉽기 때문이다.

Reference

오브젝트, 코드로 이해하는 객체지향 설계

카테고리:

업데이트:

댓글남기기