기출문제/정보처리기사

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

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

86. 소프트웨어 개발 프레임워크와 관련한 설명으로 틀린 것은?

반제품 상태의 제품을 토대로 도메인별로 필요한 서비스 컴포넌트를 사용하여 재사용성 확대와 성능을 보장 받을 수 있게하는 개발 소프트웨어이다.

개발해야 할 애플리케이션의 일부분이 이미구현되어 있어 동일한 로직 반복을 줄일 수있다.

 라이브러리와 달리 사용자 코드가 직접호출하여 사용하기 때문에 소프트웨어 개발프레임워크가 직접 코드의 흐름을 제어할수 없다.

생산성 향상과 유지보수성 향상 등의장점이 있다.

 

문제 분석:

이 문제는 소프트웨어 개발 프레임워크에 관한 설명 중에서 틀린 설명을 찾는 문제입니다. 소프트웨어 개발 프레임워크는 개발자들이 애플리케이션을 더 빠르고 효율적으로 개발할 수 있도록 도와주는 구조입니다. 각 보기에서 제공하는 설명이 프레임워크의 특성과 맞는지 검토하겠습니다.

각 보기 분석:

  1. ① 반제품 상태의 제품을 토대로 도메인별로 필요한 서비스 컴포넌트를 사용하여 재사용성 확대와 성능을 보장 받을 수 있게 하는 개발 소프트웨어이다.
    • 맞는 설명입니다.
    • 소프트웨어 개발 프레임워크는 반제품 상태의 제품(즉, 이미 일부가 구현된 코드나 구조)을 제공하고, 이를 기반으로 도메인별 필요한 서비스 컴포넌트를 추가하여 재사용성을 확대하고 성능을 보장할 수 있도록 설계됩니다. 개발자는 프레임워크를 활용하여 반복적인 작업을 줄이고 효율적인 개발을 할 수 있습니다.
  2. ② 개발해야 할 애플리케이션의 일부분이 이미 구현되어 있어 동일한 로직 반복을 줄일 수 있다.
    • 맞는 설명입니다.
    • 프레임워크는 이미 구현된 코드나 기능을 제공하여, 개발자가 반복적인 로직을 작성하지 않아도 되는 장점이 있습니다. 예를 들어, 데이터베이스 연결, 사용자 인증 등의 공통적인 기능을 프레임워크가 제공함으로써, 개발자는 이러한 부분을 다시 구현할 필요가 없습니다.
  3. ❸ 라이브러리와 달리 사용자 코드가 직접 호출하여 사용하기 때문에 소프트웨어 개발프레임워크가 직접 코드의 흐름을 제어할 수 없다.
    • 틀린 설명입니다.
    • 소프트웨어 개발 프레임워크는 사용자 코드가 아니라 프레임워크가 코드 흐름을 제어하는 방식입니다. 이를 **"제어의 역전(Inversion of Control, IoC)"**이라고 합니다. 프레임워크는 특정한 흐름을 정의하고, 개발자는 이를 기반으로 애플리케이션을 작성합니다. 즉, 프레임워크가 코드의 흐름을 제어하는 것이 맞고, 라이브러리와는 차이가 있습니다. 라이브러리는 개발자가 호출하는 방식이지만, 프레임워크는 개발자가 작성한 코드를 프레임워크가 호출합니다.
  4. ④ 생산성 향상과 유지보수성 향상 등의 장점이 있다.
    • 맞는 설명입니다.
    • 소프트웨어 개발 프레임워크는 생산성을 향상시키고, 코드의 일관성과 재사용성 덕분에 유지보수성도 향상시킬 수 있습니다. 개발자가 공통된 구조와 규칙을 따르기 때문에 유지보수와 확장성이 용이해집니다.

해설:

  • 소프트웨어 개발 프레임워크사용자 코드가 아닌 프레임워크가 흐름을 제어하는 특성이 있습니다. 이는 **"제어의 역전"**이라는 개념으로, 프레임워크가 주도적으로 프로그램의 흐름을 제어하게 됩니다. 따라서 ③번 설명은 틀린 설명입니다.
  • 라이브러리프레임워크의 차이점은 매우 중요합니다. 라이브러리는 개발자가 호출하여 사용하는 코드 모음이지만, 프레임워크는 개발자가 작성한 코드를 프레임워크가 호출하는 방식입니다.

결론:

정답은 ❸번입니다. 프레임워크는 개발자가 직접 흐름을 제어하는 것이 아니라, 프레임워크가 코드 흐름을 제어하는 방식으로 동작합니다.