본문 바로가기
프로그래밍/CS

결합도(Coupling)과 응집도(Cohension)

by 숙님 2023. 5. 18.
728x90

결합도와 응집도 

한 줄 요약: 좋은 소프트웨어일수록 결합도는 낮고, 응집도는 높다 = 의존적인 것보다 독립적인 것이 좋다 

독립일기 짤

결합도: 한 모듈이 다른 모듈에 의존하는 정도 

응집도: 한 모듈 내부의 처리 요소들이 서로 관련되어 있는 정도 

 

예시: 

- 프로젝트에서 스파게티 코드를 만든 경우, 의존도가 높으므로 결합도가 높은 것 

- 하나의 모듈을 만들었는데 독립적 기능을 수행하며 타 코드와 큰 연관성이 없으면 응집도가 높음 

 

응집도의 종류

우연적 응집도 < 논리적 응집도  < 시간적 응집도  < 절차적 응집도  < 교환적 응집도  < 순차적 응집도  < 기능적 응집도 

(우논시절교순기)

우연적: 모듈 내부 연관 없을 경우 

논리적: 유사한 성격, 특정 형태 분류 요소들이 한 모듈로 처리

시간적: 특정 시간 처리 활동 한 모듈 처리

절차적: 모듈 안 다수 기능, 한 모듈에서 처리 

교환적: 동일한 입출력, 다른 활동 수행 기능이 모여 있는 것 

순차적: 모듈 출력값을 다른 활동이 사용하는 것 

기능적: 모듈 내부 모든 기능이 단일 목적 위해 수행

 

 

댓글