기출문제/정보처리기사

2021년 2회 정보처리기사 기출문제 75번

엉클지니 2025. 3. 23. 01:52

75. 다음 중 가장 강한 응집도(Cohesion)?

 Sequential Cohesion     Procedural Cohesion

Logical Cohesion          Coincidental Cohesion

 

이 문제는 **응집도(Cohesion)**의 강도에 대한 문제입니다. 응집도는 모듈이나 클래스 내의 구성 요소들이 얼마나 밀접하게 관련되어 있는지를 나타내는 지표입니다. 응집도가 높을수록 모듈이나 클래스가 더 단일 책임에 충실하고 유지 보수가 용이해집니다.

응집도의 종류와 강도 비교

응집도는 강한 응집도에서 약한 응집도까지 여러 단계로 나눠집니다. 이를 이해하는 것이 중요합니다.

1. Sequential Cohesion (순차 응집도)

  • 설명: 모듈 내의 각 구성 요소들이 순차적으로 실행되며 서로 밀접하게 연결되는 경우입니다. 즉, 첫 번째 작업이 끝나야 두 번째 작업이 실행되는 방식입니다.
  • 응집도 수준: 중간 정도의 응집도입니다.
  • 예시: 데이터 변환 작업을 순차적으로 처리하는 경우.

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

  • 설명: 모듈 내의 구성 요소들이 어떤 절차에 따라 실행되는 경우입니다. 즉, 모듈의 각 구성 요소가 일정한 절차나 흐름을 따르지만, 각 구성 요소 간의 관련성은 약할 수 있습니다.
  • 응집도 수준: 중간 정도로, Sequential Cohesion보다는 약간 더 낮습니다.
  • 예시: 여러 기능을 순차적으로 수행하는 함수나 메서드.

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

  • 설명: 모듈 내의 구성 요소들이 논리적인 이유로 묶여 있는 경우입니다. 예를 들어, 관련된 기능들이 모듈 내에서 조건에 따라 실행되지만, 그 자체로는 명확한 관계가 없습니다.
  • 응집도 수준: 약한 응집도입니다. 모듈 내 구성 요소들이 서로 관련이 없어져서, 유지보수에 어려움이 있을 수 있습니다.
  • 예시: 사용자 입력 처리, 또는 다양한 형식의 파일을 처리하는 코드가 하나의 모듈에 포함될 때.

4. Coincidental Cohesion (우연적 응집도)

  • 설명: 모듈 내의 구성 요소들이 서로 전혀 관련이 없고, 그저 우연적으로 하나의 모듈에 포함된 경우입니다. 가장 약한 응집도로, 이런 모듈은 재사용성과 유지보수가 매우 어려워집니다.
  • 응집도 수준: 가장 약한 응집도입니다.
  • 예시: 서로 아무 관련 없는 기능들이 하나의 함수나 모듈에 존재하는 경우.

정리

  • 응집도는 강한 응집도가 좋습니다. 강한 응집도일수록 모듈이나 클래스는 **단일 책임 원칙(SRP)**을 잘 따르고, 유지보수와 확장성이 용이합니다.
  • 가장 강한 응집도는 Sequential Cohesion입니다. 이는 구성 요소들이 밀접하게 연관되어 있으며, 순차적으로 실행되어야 하는 경우이므로 매우 강한 응집도를 가지는 경우입니다.

정답: ❶ Sequential Cohesion

응집도의 강도 순서

  • 강한 응집도:
    Sequential Cohesion > Procedural Cohesion > Logical Cohesion > Coincidental Cohesion
    즉, Sequential Cohesion이 가장 강한 응집도를 가집니다. 😄

응집도의 강도에 대한 간단한 정리표

응집도 종류 강도 설명

Sequential Cohesion 가장 강함 구성 요소들이 순차적으로 연결됨
Procedural Cohesion 중간 구성 요소들이 절차에 따라 연결됨
Logical Cohesion 약함 논리적 관련성에 의해 연결됨
Coincidental Cohesion 가장 약함 전혀 관련 없는 요소들이 연결됨

이 표를 통해 각 응집도의 강도를 쉽게 기억할 수 있습니다. 😎


결론:

  • Sequential Cohesion가장 강한 응집도로, 이는 모듈 내의 구성 요소들이 서로 밀접하게 연결되고 순차적으로 처리되는 경우에 해당합니다.
반응형