■ 응집도와 결합도

https://medium.com/@jang.wangsu/%EC%84%A4%EA%B3%84-%EC%9A%A9%EC%96%B4-%EC%9D%91%EC%A7%91%EB%8F%84%EC%99%80-%EA%B2%B0%ED%95%A9%EB%8F%84-b5e2b7b210ff

 

[설계 용어] 응집도와 결합도

High Cohesion, Low Coupling, 응집도와 결합도 라는 설계관련 용어는 프로그래밍에 익숙하지 않은 사람들에게는 쉽게 익숙해지기가 처음에는 어려울 것 같아요.

medium.com

- 자바 스터디 그룹에서 매일 배운 내용을 돌아가며 요약하고 발표하고 있다.

- 최근 인터페이스를 다루었었는데, 그 때 응집도와 결합도에 대한 이야기가 나왔다. 정확히 무슨 말인지 이해가 가지 않았는데, 오늘 이에 대해 다시 이야기를 나누면서 자료를 찾아보니 이해가 조금 가게 된 것 같다.

 

[ 응집도와 결합도는 설계 용어이다 ]

- 모듈이란 클래스나 패키지, 라이브러리와 같이 프로그램을 구성하는 임의의 요소를 말한다.

- 좋은 설계는 높은 응집도와 낮은 결합도를 갖도록 모듈을 구성하는 것이다.

 

[1] 응집도란?

- 응집도는 쉽게 생각했을 때, "모듈 한 곳에 기능을 잘 모아놓은 것"인 것 같다.

- 위 링크에서는, 

  (1) 모듈이 하나의 목적을 수행하는 요소들간의 연관성 척도

  (2) 모듈 내부의 기능적인 응집 정도를 나타낸다.

  라고 설명을 해주었다.

 

[2] 결합도란?

- 결합도는 쉽게 생각했을 때, "모듈 하나의 수정이 다른 모듈에 영향을 미치는 정도"인 것 같다.

- 위 링크에서는, 

  (1) 다른 모듈과의 의존성의 정도

  (2) 모듈과 모듈 간의 상호 결합 정도

  라고 설명을 해주었다.

 

+ Recent posts