현재 선택한 정보처리 과정

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

이론 목록으로 돌아가기

모듈 호출·팬인/팬아웃

직접 호출 관계의 서로 다른 이웃만 센다.

예상 읽기 3

실기 학습 목표

직접 호출 관계의 서로 다른 이웃만 센다.

핵심 이론

Fan-in은 해당 모듈을 직접 호출하는 모듈 수, Fan-out은 해당 모듈이 직접 호출하는 모듈 수다. 방향 그래프에서 들어오는 간선과 나가는 간선을 구별한다.

한 호출자가 같은 모듈을 10번 호출해도 서로 다른 호출자 수 기준 Fan-in에는 1만 더한다. 간접적으로 도달하는 모듈은 직접 Fan-out에 넣지 않는다.

A→M, B→M, M→X, M→Y에서 M의 Fan-in과 Fan-out은 각각 2다. 중계 모듈을 추가·제거할 때 변경된 직접 간선만 다시 센다.

높은 Fan-in은 공통 기능의 활용을 나타낼 수 있지만 숫자만으로 좋은 설계라고 단정하지 않는다. 호출 관계와 변경 영향까지 함께 해석한다.

직접 연결을 세는 표를 만든다

Fan-in은 화살표가 들어오는 쪽, Fan-out은 나가는 쪽이다. 먼저 기준 모듈을 원으로 표시한 다음 들어오는 화살표의 출발점과 나가는 화살표의 도착점을 서로 다른 집합으로 적는다.

A→M, B→M, M→X, M→Y, Y→Z이면 M의 직접 호출자는 A·B이므로 Fan-in=2, M이 직접 호출하는 대상은 X·Y이므로 Fan-out=2다. M에서 Z까지 갈 수 있어도 Z는 간접 호출 대상이므로 Fan-out에 더하지 않는다.

세려는 것포함제외
직접 호출자 수서로 다른 출발 모듈같은 모듈의 반복 호출 횟수
직접 호출 대상 수바로 연결된 도착 모듈중간 모듈 너머의 도달 대상

공통 처리 X·Y를 W로 묶어 M→W, W→X, W→Y로 바꾸면 M의 Fan-out은 2에서 1로 감소한다. 전체 간선 수와 M 하나의 Fan-out 변화는 다르다. 문제에서 호출 횟수나 가중치를 따로 정의했다면 그 정의를 우선하고, 일반적인 서로 다른 모듈 수와 섞지 않는다.

풀이 예시

모듈 관계가 M→N, M→P, N→Q, P→Q, P→R, R→S이다. 직접 호출되는 서로 다른 모듈 수를 기준으로 M의 FAN-OUT 값을 쓰시오.

예시 정답

CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
2

풀이 과정

M이 직접 호출하는 모듈은 N,P뿐이다. Q,R,S에 간접적으로 도달할 수 있어도 M의 직접 FAN-OUT에 더하지 않는다.

답안 점검

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