[Study] 결합도와 응집도

LimJaeJun·2023년 10월 25일

Study

목록 보기
3/16

결합도

결합도란?

모듈 혹은 클래스간의 상호 의존 정도를 의미한다.
결합도가 낮을 수록 독립성이 높아지며 재사용성과 유지 보수가 용이하다.

결합도 종류

오름차순, 내려갈수록 결합도 높아짐

이름설명
자료 결합도모듈간의 인터페이스 전달되는 파라미터를 통해서만 모듈간의 상호 작용이 일어나는 경우
스탬프 결합도모듈간의 인터페이스로 배열이나 오브젝트, 스트럭쳐등이 전달되는 경우
제어 결합도단순히 처리를 해야할 대상인 값만 전달되는게 아니라 어떻게 처리를 해야 한다는 제어 요소가 전달되는 경우
외부 결합도어떤 모듈에서 반환한 값을 다른 모듈에서 참조해서 사용하는 경우
공통 결합도파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역변수를 갱신하는 식으로 상호작용하는 경우
내용 결합도다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용 하는 경우

응집도

응집도란?

내부 요소들이 얼마나 밀접하게 관련되어 있는지를 의미한다.
응집도가 높을 수록 관련성 높게 함께 작동하는 것을 의미하며, 일관된 목적을 가지고 있다는 것이다.

응집도 종류

오름차순, 내려갈수록 응집도 높아짐.

이름설명
우연적 응집도모듈 내부의 각 구성요소들이 연관이 없을 경우
논리적 응집도유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우
시간적 응집도연관된 기능이라기 보단 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우
절차적 응집도모듈이 다수의 관련 기능을 가질 떄 모듈 안의 구성요소들이 그 기능을 순차적으로 수행할 경우
통신적 응집도동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여있을 경우
순차적 응집도모듈 내에서 한 활동으로 부터 나온 출력값을 다른 활동이 사용할 경우
기능적 응집도모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우

결론

설계시 결합도는 낮추고 응집도는 높히는 것이 이상적이다.

profile
Dreams Come True

0개의 댓글