종식당

응집도와 결합도 본문

매일메일

응집도와 결합도

종식당 2025. 4. 28. 14:58
728x90
반응형

🥇 응집도 (Cohesion)

응집도는 모듈에 포함된 내부 요소들이 연관되어 있는 정도를 나타낸다. 

🥈 결합도 (Coupling)

결합도는 의존성의 정도를 나타내며, 다른 모듈에 대해 얼마나 많은 지식을 갖고 있는 지를 나타낸다.

 

응집도와 결합도는 변경과 관련이 깊으며, 일반적으로 좋은 설계란 높은 응집도와 낮은 결합도를 가진 모듈로 구성된 설계를 의미한다. 객체의 행동에서 객체가 알고 있는 모든 정보를 사용하거나, 변경이 존재하는 경우 특정 모듈만 수정되면 응집도가 높다고 판단할 수 있다. 또한, 특정 모듈을 변경하는 경우에 다른 모듈도 변경해야 하는 상황에서는 결합도가 높다고 판단할 수 있다.

캡슐화는 무엇인가요? 😀

객체 내부의 세부적인 사항을 감추는 것을 캡슐화라고 한다. 캡슐화의 목적은 변경하기 쉬운 객체를 만드는 것이다. 캡슐화를 통해 객체 내부로의 접근을 제한하면 객체와 객체 사이의 결합도를 낮출 수 있기 때문에 설계를 더욱 쉽게 변경할 수 있다.

만약, 캡슐화가 약화되어 있다면, 클라이언트 코드로 변경이 전파되어 변경이 쉽지 않을 수 있다. 그리고, 협력을 재사용하기 어려운 상황을 만들어낼 수 있다. 이러한 상황을 예방하기 위해서 캡슐화는 객체지향 프로그래밍에서 기본기로 여겨진다.

 

728x90
반응형