현재 선택한 정보처리 과정

정보처리기사 실기 이론 학습

이론 목록으로 돌아가기

결합도·응집도

모듈 사이에는 낮은 결합도, 모듈 내부에는 높은 응집도를 지향한다.

예상 읽기 3

실기 학습 목표

모듈 사이에는 낮은 결합도, 모듈 내부에는 높은 응집도를 지향한다.

핵심 이론

결합도는 일반적으로 내용 → 공통 → 외부 → 제어 → 스탬프 → 자료 순으로 약해진다. 타 모듈 내부 직접 접근은 내용, 전역 데이터 공유는 공통, 외부 형식·프로토콜 의존은 외부 결합이다.

실행 경로를 선택하는 플래그 전달은 제어, 구조체 전체 전달은 스탬프, 필요한 단순 값 전달은 자료 결합이다. 단순히 인수가 있다는 이유만으로 자료 결합으로 판단하지 않는다.

응집도는 우연적 → 논리적 → 시간적 → 절차적 → 교환적 → 순차적 → 기능적 순으로 강해지는 것으로 비교한다. 시작 시점에 모인 기능은 시간적, 단지 실행 순서만 공유하면 절차적이다.

같은 입력·출력 자료를 사용하면 교환적, 앞 출력이 다음 입력이면 순차적, 하나의 명확한 기능에 모이면 기능적이다. 암기 순서와 함께 데이터 관계를 확인한다.

결합도는 모듈 사이, 응집도는 한 모듈 안이다

먼저 지문이 서로 다른 모듈의 의존을 묻는지 한 모듈 안 기능의 관련성을 묻는지 구분한다. 이 구분 없이 강도 순서만 외우면 비슷한 용어를 잘못 고르기 쉽다.

사례 단서판정이유
모드 번호로 상대의 분기 선택제어 결합도전달값이 동작을 지시
구조체 전체 중 일부 필드 사용스탬프 결합도필요 이상의 구조에 의존
같은 전역 변수를 읽고 변경공통 결합도공유 상태의 변경 영향
초기화 시점에 실행할 작업 묶음시간적 응집도같은 시간에 수행
앞 작업의 출력이 뒤 작업의 입력순차적 응집도처리 결과가 이어짐

교환적 응집도는 같은 자료를 사용한다는 관계이고 순차적 응집도는 출력에서 입력으로 연결된다는 관계다. 절차적 응집도는 실행 순서가 중심이다. 지문에서 가장 구체적인 관계를 골라 답한다. 일반적으로 결합도는 낮추고 응집도는 높이는 것이 변경 영향을 줄이지만, 숫자나 한 단서만으로 전체 설계 품질을 단정하지는 않는다.

풀이 예시

문서 처리 모듈 안에서 작업 A는 입력 문장을 토큰 목록으로 바꾸고, 작업 B는 A가 만든 토큰 목록으로 색인을 만든다. 작업 C는 B의 색인으로 검색 요약을 생성한다. 앞 작업의 출력이 다음 작업의 입력이 되는 연결에 주목할 때 응집도 유형을 쓰시오.

예시 정답

CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
순차적 응집도

풀이 과정

작업들이 단순히 정해진 시간 순서로 실행되는 데 그치지 않고 데이터 출력과 입력으로 연결되어 있다. 이러한 관계를 순차적 응집도라고 한다. 입력·출력 자료를 공통으로 사용하기만 하는 교환적 응집도와 구별한다.

답안 점검

위 풀이 예시의 답을 가린 뒤, 핵심 이론의 규칙을 적용해 직접 풀어 보세요. 코드와 계산 문제는 중간값·단위·최종 출력의 순서를, 용어 문제는 지문의 핵심 단서와 답의 의미를 점검하세요. 해설과 다른 부분이 있으면 어느 조건을 놓쳤는지 확인하고 연결된 실기 문제로 다시 연습하세요.