85. 소프트웨어 개발 프레임워크와 관련한 설명으로 가장 적절하지 않은 것은?
① 반제품 상태의 제품을 토대로 도메인별로 필요한 서비스 컴포넌트를 사용하여 재사용성 확대와 성능을 보장 받을 수 있게 하는 개발 소프트웨어이다.
❷ 라이브러리와는 달리 사용자 코드에서 프레임워크를 호출해서 사용하고, 그에 대한 제어도 사용자 코드가 가지는 방식이다.
③ 설계 관점에 개발 방식을 패턴화시키기 위한 노력의 결과물인 소프트웨어 디자인 패턴을 반제품 소프트웨어 상태로 집적화시킨 것으로 볼 수 있다.
④ 프레임워크의 동작 원리를 그 제어 흐름의 일반적인 프로그램 흐름과 반대로 동작한다고 해서 IoC(Inversion of Control)이라고 설명하기도 한다.
이 문제는 소프트웨어 개발 프레임워크에 대한 개념을 정확히 알고 있는지를 묻는 문제입니다.
각 보기와 핵심 개념을 비교해보면서 왜 정답이 ❷인지 설명해드릴게요.
📚 프레임워크(Framework)란?
- 소프트웨어의 기본 뼈대를 제공하는 개발 도구
- 개발자가 필요한 기능을 추가/확장할 수 있음
- 반제품 형태로 제공되어 생산성 향상과 재사용성 증가
- 대표적으로 Spring, Django, Laravel 등 다양한 프레임워크가 존재
📊 보기 분석
보기 설명 적합 여부
① 반제품 상태로 제공되어 재사용성 확대와 성능 보장 | 프레임워크의 본질적 특징 | ⭕ |
❷ 사용자 코드가 프레임워크를 호출하고, 제어권도 사용자에게 있음 | ❌ (틀림) | |
③ 디자인 패턴을 집적화시켜 반제품화된 소프트웨어 | 프레임워크의 특징 중 하나 | ⭕ |
④ 프레임워크는 제어 흐름이 역전되는 IoC 개념을 적용 | 프레임워크의 핵심 개념 | ⭕ |
📌 ❷번이 틀린 이유: 제어 역전(Inversion of Control, IoC)
프레임워크와 라이브러리의 차이
구분 라이브러리 프레임워크
호출 주체 | 사용자 코드가 라이브러리를 호출 | 프레임워크가 사용자 코드를 호출 |
제어권 | 사용자 코드가 제어 | 프레임워크가 제어 |
예시 | 유틸 함수, 데이터 처리 라이브러리 | 웹 프레임워크 (Spring, Django) |
✅ 프레임워크는 프레임워크 자체가 프로그램 흐름을 주도하고,
개발자가 작성한 코드를 필요할 때 프레임워크가 역으로 호출하는 구조입니다.
이걸 **IoC (Inversion of Control)**이라고 부릅니다.
❌ 하지만 보기 ❷는 "사용자 코드가 프레임워크를 호출하고, 제어권도 사용자에게 있다"라고 했습니다.
→ 이건 라이브러리의 특징이지, 프레임워크의 특징이 아닙니다.
✅ 정답
❷
💡 요점 정리
구분 라이브러리 프레임워크
제어권 | 사용자 코드에 있음 | 프레임워크에 있음 (IoC 적용) |
호출 방식 | 사용자가 직접 호출 | 프레임워크가 사용자 코드를 호출 |
사용 목적 | 특정 기능 수행 | 전체 개발 구조 제공 (반제품) |
반응형
'기출문제 > 정보처리기사' 카테고리의 다른 글
2022년 2회 정보처리기사 기출문제 87번 (1) | 2025.03.02 |
---|---|
2022년 2회 정보처리기사 기출문제 86번 (0) | 2025.03.02 |
2022년 2회 정보처리기사 기출문제 84번 (0) | 2025.03.02 |
2022년 2회 정보처리기사 기출문제 83번 (0) | 2025.03.02 |
2022년 2회 정보처리기사 기출문제 82번 (0) | 2025.03.02 |