✏️정보처리기사

[정보처리기사 / 1과목] 결합도 (Coupling) & 응집도 (Cohesion)

haeriyouu 2025. 2. 3. 13:45

결합도 (Coupling)

 

📍 결합도가 낮을 수록 좋다.

📄 자스제외공내 (낮음➡️높음)

 

1. 자료 결합도 (Data Coupling) 🌟가장 좋음🌟

- 모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈간의 상호 작용이 일어나는 경우

2. 스탬프 결합도 (Stamp Coupling)

- 모듈 간의 인터페이스로 배열이나 오브젝트, 스트럭처 등이 전달되는 경우

3. 제어 결합도 (Control Coupling)

- 단순 처리할 대상인 값만 전달되는게 아니라 어떻게 처리를 해야 한다는 제어 요소가 전달되어 다른 모듈의 흐름을 제어

4. 외부 결합도 (External Coupling)

- 두 개의 모듈이 외부에서 도입된 데이터 포맷, 통신 프로토콜, 디바이스 인터페이스를 공유할 때 발생

5. 공통 결합도 (Common Coupling)

- 파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호 작용하는 경우

6. 내용 결합도 (Content Coupling)

- 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우

 


응집도 (Cohesion)

📍 응집도가 높을 수록 좋다.

📄 우논시절통순기 (낮음➡️높음)

 

1. 우연적 응집도 (Coincidential Cohesion)

- 모듈 내부의 각 구성 요소들이 연관이 없을 경우

2. 논리적 응집도 (Logical Cohesion)

- 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들

3. 시간적 응집도 (Temporal Cohesion)

- 특정 시간에 처리되어야 하는 활동

4. 절차적 응집도 (Procedural Cohesion)

- 입출력 순서는 관련 없는 기능요소인데 배열된 순서로 수행되는 경우

5. 통신적 응집도 (Communication Cohesion)

- 처리 순서에 상관 없이 동일한 자료를 사용하여 다른 기능을 수행하는 활동들이 모여 있을 경우

6. 순차적 응집도 (Sequential Cohesion)

- 한 활동으로부터 나온 출력값을 다른 활동이 사용할 경우

7. 기능적 응집도 (Functional Cohesion) 🌟가장 좋음🌟

- 모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우