본문 바로가기

Study/웹기초

응집도 vs 결합도

 응집도 vs 결합도

일반적으로 좋은 설계란 높은 응집도와 낮은 결합도를 갖는 모듈로 구성된 설계를 의미합니다.

  • OPP에서는 응집도는 높히고 결합도는 낮춰야 한다는 말을 많이 하게 됩니다.
  • 그렇다면 응집도는 무엇이고 결합도는 무엇일까요?

 

 

응집도(Cohesion)란?

  • 하나의 모듈이 하나의 기능을 수행하는 요소들간의 연관성 척도
  • 독립적인 모듈이 되기 위해서는 응집도가 강해야 한다.

 

 

응집도가 낮은 클래스의 문제점

  • 이해하기 힘들고
  • 따로 재사용하기 힘들며
  • 유지보수하기 힘들고
  • 다른 클래스의 변화에 민감하게 된다.

 

 

 

 

 

결합도(Coupling) 란?

  • 어떤 모듈이 다른 모듈에 의존하는 정보를 측정하는 것이다
  • 즉, 두 모듈간의 상호 의존하는 정도 또는 두 모듈 사이의 연관관계를 이야기 한다.
  • 독립적인 모듈이 되기 위해서는 결합도가 낮아야 한다.

 

 

결합도가 높은 클래스의 문제점

  • 연관된 다른 클래스가 변경되면 더불어 변경해야 하고
  • 수정하려는 클래스를 이해하기 위해 연관된 다른 클래스를 함께 이해해야 하고
  • 재사용하기 힘들다

 

 

 

 

 

 

 

참조

https://rutgo-letsgo.tistory.com/227

https://mangkyu.tistory.com/195

'Study > 웹기초' 카테고리의 다른 글

overflow/underflow  (0) 2023.01.31
macOS 터미널에서 내 IP 주소 확인하기  (0) 2022.11.11
객체 지향의 3가지 특징 - 캡슐화, 상속, 다형성  (1) 2022.10.05
SOLID  (0) 2022.10.05
캡슐화(encapsulation)  (0) 2022.09.22