기출문제/정보처리기사

2021년 3회 정보처리기사 기출문제 77번

엉클지니 2025. 3. 19. 11:13

77. 모듈화(Modularity)와 관련한 설명으로 틀린 것은?

    소프트웨어의 모듈은 프로그래밍 언어에서 Subroutine, Function 등으로 표현될 수 있다.

     모듈의 수가 증가하면 상대적으로 각 모듈의 크기가 커지며, 모듈 사이의 상호교류가 감소하여 과부하(Overload) 현상이 나타난다.

    모듈화는 시스템을 지능적으로 관리할 수 있도록 해주며, 복잡도 문제를 해결하는 데 도움을 준다.

    모듈화는 시스템의 유지보수와 수정을 용이하게 한다.

 

정답: ② ❌ (틀린 설명)


🔍 문제 분석 및 해설

이 문제는 소프트웨어 공학에서 모듈화(Modularity)의 개념과 장점에 대해 묻고 있습니다.
모듈화란?

  • 소프트웨어를 작은 독립적인 부분(모듈)으로 분할하는 설계 기법입니다.
  • 각 모듈은 독립적으로 개발, 수정, 유지보수될 수 있으며, 다른 모듈과 최소한의 상호작용만 합니다.
  • 코드의 재사용성과 유지보수성을 높이고, 복잡도를 줄이는 데 중요한 역할을 합니다.

각 선택지 분석

① 소프트웨어의 모듈은 프로그래밍 언어에서 Subroutine, Function 등으로 표현될 수 있다. → O (정답)

  • 소프트웨어에서 모듈은 보통 함수(Function), 서브루틴(Subroutine), 클래스(Class) 등으로 구현됩니다.
  • 예를 들어, C 언어에서는 함수(Function), Python에서는 클래스(Class)나 모듈(Module)이 될 수 있습니다.
    올바른 설명입니다.

② 모듈의 수가 증가하면 상대적으로 각 모듈의 크기가 커지며, 모듈 사이의 상호교류가 감소하여 과부하(Overload) 현상이 나타난다. → ❌ (틀린 설명, 정답)

🔸 왜 틀렸을까요?

  • 모듈의 수가 증가하면 오히려 각 모듈의 크기는 작아지고, 코드의 가독성과 유지보수성이 향상됩니다.
  • 또한 모듈이 많아질수록 서로 간의 상호작용을 최소화해야 하므로, 모듈 간 교류(의존도)는 줄어드는 것이 아니라 적절하게 관리됩니다.
  • 과부하(Overload) 현상은 모듈이 많아져서 발생하는 것이 아니라, 모듈 간 결합도가 높아질 때(즉, 의존성이 강할 때) 발생합니다.
    틀린 설명이므로 정답입니다.

③ 모듈화는 시스템을 지능적으로 관리할 수 있도록 해주며, 복잡도 문제를 해결하는 데 도움을 준다. → O (정답)

  • 모듈화는 소프트웨어의 복잡도를 줄이고, 체계적인 관리가 가능하도록 도와줍니다.
  • 모듈이 독립적이면 한 부분을 수정해도 다른 부분에 영향을 주지 않아 유지보수가 편리해집니다.
    올바른 설명입니다.

④ 모듈화는 시스템의 유지보수와 수정을 용이하게 한다. → O (정답)

  • 모듈화된 프로그램은 특정 기능을 수정하거나 개선할 때, 다른 기능에 영향을 최소화할 수 있습니다.
  • 모듈화가 잘 이루어지면 코드를 재사용할 수도 있어 개발 속도도 빨라집니다.
    올바른 설명입니다.

📌 결론

  • ②번 선택지가 틀린 설명이므로 정답입니다. 🎯
  • 모듈의 수가 증가하면 모듈 크기는 커지는 것이 아니라 작아지며, 유지보수성과 확장성이 증가합니다.
  • 따라서 정답은 ②번입니다! 🚀

📝 추가 개념 정리

모듈화(Modularity)의 장점

장점 설명

코드 재사용성(Reusability) 증가 여러 프로그램에서 동일한 모듈을 재사용할 수 있음
유지보수성(Maintainability) 향상 특정 기능을 수정해도 다른 기능에 영향이 적음
가독성(Readability) 향상 코드가 구조적으로 정리되어 이해하기 쉬움
테스트(Testability) 향상 개별 모듈을 독립적으로 테스트할 수 있음
확장성(Scalability) 증가 새로운 기능 추가가 용이함

즉, 모듈화는 유지보수성을 높이고, 코드 품질을 개선하는 핵심적인 설계 원칙입니다. 🚀

반응형