학습
📐소프트웨어 설계반드시

결합도와 응집도

결합도는 낮을수록, 응집도는 높을수록 좋다. 순서를 외운다.

결합도는 모듈 사이의 의존 정도다. 낮은 것부터: 자료(Data) → 스탬프(Stamp) → 제어(Control) → 외부(External) → 공통(Common) → 내용(Content).

응집도는 모듈 안이 얼마나 한 가지 일에 모여 있는가다. 낮은 것부터: 우연적 → 논리적 → 시간적 → 절차적 → 통신적 → 순차적 → 기능적.

좋은 설계는 결합도가 낮고 응집도가 높다.

자주 나오는 둘: 공통 결합도는 전역 변수를 함께 쓰는 것, 시간적 응집도는 초기화처럼 같은 시점에 실행된다는 이유만으로 묶은 것이다.

외울 것

결합도 낮음→높음자료 · 스탬프 · 제어 · 외부 · 공통 · 내용
응집도 낮음→높음우연 · 논리 · 시간 · 절차 · 통신 · 순차 · 기능

바꿔 내는 짝

결합도응집도

결합도는 모듈 '사이', 응집도는 모듈 '안'이다. 결합도는 낮게, 응집도는 높게가 목표다.

시험에는 이렇게

'결합도가 가장 낮은 것은?'과 '응집도가 가장 높은 것은?'이 번갈아 나온다. 순서를 통째로 외워 두는 편이 빠르다.

실기에도 나오는 개념입니다. 실기는 고르는 것이 아니라 적으므로 용어를 글자 그대로 외워 두세요.

확인 문제

이 개념은 실기에도 2문항 나옵니다. 고르는 것과 적는 것은 다르니 실기 탭에서 손으로도 한 번 적어 보세요.