📝 2026 정보처리기사 예상문제: 2과목 소프트웨어 개발 (21~40번)
최근 5개년 기출 데이터를 분석하여 가장 출제 빈도가 높은 핵심 문항들로 구성했습니다. 문제를 먼저 풀어보신 후, ‘정답 및 해설 보기’를 클릭하여 본인의 실력을 점검해 보세요.
한쪽 끝에서만 자료의 삽입(Push)과 삭제(Pop) 연산이 이루어지며, 가장 나중에 들어온 데이터가 가장 먼저 처리되는 후입선출(LIFO) 구조의 선형 자료구조는?
- ① 큐(Queue)
- ② 스택(Stack)
- ③ 데크(Deque)
- ④ 트리(Tree)
정답 및 심층 해설 보기
정답: ②
해설: 스택은 함수 호출의 복귀 주소 저장, 재귀 알고리즘 구현, 수식의 후위(Postfix) 표기법 연산, 인터럽트 처리 등 시스템의 핵심적인 흐름 제어에 광범위하게 사용됩니다.
임의의 기억공간에 분산되어 저장된 데이터 항목들을 노드의 포인터(Pointer) 부분을 이용하여 논리적 순서에 따라 서로 연결시킨 유연한 자료구조는?
- ① 배열
- ② 해시 테이블
- ③ 연결 리스트(Linked List)
- ④ 그래프
정답 및 심층 해설 보기
정답: ③
해설: 연결 리스트는 연속적인 물리적 메모리 할당이 필요 없어 크기가 동적으로 변할 수 있으며, 중간 데이터의 삽입과 삭제 시 오버헤드가 적다는 강력한 이점이 있습니다.
노드(Node)와 간선(Edge)으로 구성되어 사이클(Cycle)을 이루지 않도록 계층적인 부모-자식 관계를 모델링한 비선형 자료구조의 특수한 형태는?
- ① 트리(Tree)
- ② 배열
- ③ 연결 리스트
- ④ 큐
정답 및 심층 해설 보기
정답: ①
해설: 트리는 디렉터리 구조, 데이터베이스의 인덱싱(B-Tree), 라우팅 알고리즘 등에 필수적이며 탐색 연산에 최적화된 계층적 구조를 제공합니다.
주어진 리스트에서 가장 작은 값을 찾아 첫 번째 위치의 값과 교환하고, 두 번째로 작은 값을 찾아 두 번째 위치의 값과 교환하는 방식을 반복하는 정렬 알고리즘은?
- ① 퀵 정렬
- ② 병합 정렬
- ③ 버블 정렬
- ④ 선택 정렬(Selection Sort)
정답 및 심층 해설 보기
정답: ④
해설: 선택 정렬은 자료 이동 횟수가 미리 결정되어 있다는 장점이 있으나, 최상, 평균, 최악의 경우 모두 $O(n^2)$의 시간 복잡도를 가져 대용량 데이터 처리에는 부적합합니다.
분할 정복(Divide and Conquer) 알고리즘을 기반으로, 리스트 내의 한 요소를 피벗(Pivot)으로 선정하여 이를 기준으로 작은 값과 큰 값을 분할하며 정렬을 수행하는 방식은?
- ① 힙 정렬
- ② 기수 정렬
- ③ 퀵 정렬(Quick Sort)
- ④ 셸 정렬
정답 및 심층 해설 보기
정답: ③
해설: 퀵 정렬은 평균적으로 $O(n \log n)$의 훌륭한 시간 복잡도를 자랑하며, 내부 정렬 중에서 속도가 가장 빨라 광범위하게 응용되는 알고리즘입니다.
프로그램의 내부 논리적 구조와 제어 흐름을 직접 분석하여, 모든 경로, 분기, 루프가 예상대로 실행되는지를 검증하는 구조적 테스트 기법은?
- ① 블랙박스 테스트
- ② 화이트박스 테스트
- ③ 사용자 인수 테스트
- ④ 회귀 테스트
정답 및 심층 해설 보기
정답: ②
해설: 화이트박스 테스트는 소스 코드가 공개된 상태에서 진행되며, 기초 경로 검사(Base Path Testing) 및 제어 흐름 테스트가 대표적인 기법으로 오류 검출 능력이 탁월합니다.
프로그램 입력 조건의 중간값보다는 경계값에서 오류가 발생할 확률이 높다는 경험적 통계에 착안하여, 경계의 한계치를 테스트 케이스로 선정하는 블랙박스 기법은?
- ① 동치 분할 검사
- ② 경계값 분석(Boundary Value Analysis)
- ③ 원인-효과 그래프
- ④ 상태 전이 검사
정답 및 심층 해설 보기
정답: ②
해설: 경계값 분석은 사용자 명세서를 바탕으로 하는 블랙박스 테스트 기법 중 가장 널리 쓰이며, 배열 인덱스 초과 등 시스템의 임계점 결함을 찾아내는 데 특화되어 있습니다.
상위 모듈에서 하위 모듈 방향으로 제어의 경로에 따라 통합하면서 테스트를 진행하는 방식에서, 하위 모듈의 역할을 일시적으로 대신하는 더미(Dummy) 모듈은?
- ① 드라이버(Driver)
- ② 스텁(Stub)
- ③ 테스트 하네스
- ④ 목(Mock) 객체
정답 및 심층 해설 보기
정답: ②
해설: 하향식 통합에서는 스텁(Stub)이 하위 모듈을 시뮬레이션하며, 반대로 상향식 통합에서는 제어를 총괄하는 상위 모듈 역할의 드라이버(Driver)가 필요합니다.
소프트웨어 생명주기 전반에 걸쳐 생성되는 모든 산출물과 코드의 변경 사항을 체계적으로 식별, 통제, 기록하여 소프트웨어의 무결성과 추적성을 확보하는 활동은?
- ① 위험 관리
- ② 품질 보증
- ③ 형상 관리
- ④ 자원 관리
정답 및 심층 해설 보기
정답: ③
해설: 형상 관리는 베이스라인(Baseline) 설정을 통해 다수의 개발자가 동시다발적으로 작업하는 환경에서 소스 코드의 충돌을 방지하고 버전 동기화를 유지하는 핵심 통제 기법입니다.
분산 버전 관리 시스템인 Git 환경에서, 개발자가 로컬 저장소(Local Repository)에 작업한 변경 내역을 원격 저장소(Remote Repository)로 업로드하여 팀원들과 공유하는 명령어는?
- ① git pull
- ② git clone
- ③ git commit
- ④ git push
정답 및 심층 해설 보기
정답: ④
해설: git commit은 로컬의 스냅샷을 확정하는 것이고, git push는 이 커밋 내역들을 네트워크를 통해 서버로 전송하여 병합(Merge)을 준비하는 절차입니다.
멀티 프로세스 운영체제 환경에서, 독립적으로 수행되는 복수의 프로세스 간에 데이터를 주고받기 위해 사용되는 소켓, 공유 메모리, 파이프 등을 통칭하는 기술 집합은?
- ① RPC
- ② IPC(Inter-Process Communication)
- ③ MOM
- ④ RMI
정답 및 심층 해설 보기
정답: ②
해설: 프로세스는 각각 독립적인 메모리 공간을 가지므로 상호 침범이 불가능합니다. 따라서 IPC라는 운영체제가 제공하는 매커니즘을 통해서만 안전한 통신과 자원 동기화가 가능합니다.
개발자가 작성한 소스 코드를 컴파일하고, 필요한 라이브러리(의존성)를 연결하며, 패키징하여 배포 가능한 실행 파일로 변환하는 과정을 자동화하는 도구(예: Ant, Maven, Gradle)는?
- ① 디버거
- ② 빌드 도구
- ③ 테스트 프레임워크
- ④ 이슈 트래커
정답 및 심층 해설 보기
정답: ②
해설: 빌드 도구는 지속적 통합(CI) 환경에서 핵심 엔진 역할을 수행하며, 스크립트 기반의 자동화 처리를 통해 휴먼 에러를 제거하고 빌드 재현성을 보장합니다.
알고리즘의 최악의 경우 수행 시간을 나타내는 점근적 표기법(Big-O) 중, 입력 데이터의 크기에 관계없이 항상 일정한 시간이 소요되는 경우의 표기법은?
- ① $O(n)$
- ② $O(n \log n)$
- ③ $O(n^2)$
- ④ $O(1)$
정답 및 심층 해설 보기
정답: ④
해설: $O(1)$ 상수 시간 복잡도는 배열의 특정 인덱스 접근이나 해시 테이블의 탐색과 같이 데이터 양이 폭증해도 성능 저하가 전혀 발생하지 않는 가장 완벽한 효율성을 의미합니다.
객체지향 프로그래밍 언어의 객체(Object)와 관계형 데이터베이스의 테이블(Relation) 데이터를 자동으로 매핑하여, 복잡한 SQL 쿼리 없이도 데이터베이스에 접근할 수 있게 해주는 기술은?
- ① ODBC
- ② JDBC
- ③ ORM(Object-Relational Mapping)
- ④ MyBATIS
정답 및 심층 해설 보기
정답: ③
해설: JPA나 Hibernate와 같은 ORM 프레임워크는 SQL 중심의 개발에서 벗어나 객체 중심의 비즈니스 로직에 집중할 수 있게 하며, 패러다임 불일치 문제를 우아하게 해결합니다.
악의적인 공격자가 웹 페이지에 임의의 자바스크립트를 삽입하여, 이를 열람하는 일반 사용자의 브라우저에서 스크립트가 실행되게 함으로써 세션 쿠키 등을 탈취하는 해킹 기법은?
- ① 버퍼 오버플로우
- ② SQL Injection
- ③ XSS(Cross-Site Scripting)
- ④ CSRF
정답 및 심층 해설 보기
정답: ③
해설: XSS 방어를 위해 개발자는 데이터 입출력 단계에서 특수 문자(<, >, & 등)를 HTML 엔티티로 치환하는 필터링 메커니즘을 필수적으로 구현해야 합니다.
소프트웨어 결함을 조기에 발견하기 위해, 작성자가 아닌 훈련된 전문가 팀이 사전에 정의된 체크리스트를 기반으로 코드의 논리성과 표준 준수 여부를 엄격하고 공식적으로 검토하는 기법은?
- ① 워크스루
- ② 동료 검토
- ③ 인스펙션(Inspection)
- ④ 페어 프로그래밍
정답 및 심층 해설 보기
정답: ③
해설: 인스펙션은 중재자(Moderator), 검토자(Inspector), 기록자(Recorder) 등의 역할이 명확히 분리된 가장 체계적인 정적 테스트 기법으로 개발 비용 절감에 탁월합니다.
배포되는 디지털 콘텐츠 및 소프트웨어의 불법 복제를 원천적으로 차단하고, 저작권자의 권리와 이익을 보호하기 위해 암호화 기술과 라이선스 관리 체계를 융합한 솔루션은?
- ① PKI
- ② DRM(Digital Rights Management)
- ③ SSL/TLS
- ④ 워터마킹
정답 및 심층 해설 보기
정답: ②
해설: DRM은 콘텐츠 패키징부터 키 관리, 라이선스 발급 서버 체계를 아우르며, 인가된 사용자만이 특정 기간과 조건 내에서 콘텐츠를 이용할 수 있도록 강력히 제어합니다.
거대한 모놀리식 시스템을 작고 독립적으로 배포 가능한 여러 개의 서비스들로 잘게 분할하여, 각 서비스가 경량화된 API를 통해 상호 통신하도록 설계하는 현대적 아키텍처 스타일은?
- ① SOA
- ② MSA(Microservices Architecture)
- ③ 계층형 아키텍처
- ④ MVC
정답 및 심층 해설 보기
정답: ②
해설: MSA는 각 서비스가 독립적인 데이터베이스를 가지며, 특정 서비스의 장애가 전체 시스템으로 전파되지 않아 클라우드 네이티브 환경과 대규모 트래픽 처리에 최적화되어 있습니다.
메모리 상에 데이터가 물리적, 논리적으로 연속된 순서에 따라 저장되는 구조로, 인덱스를 통한 직접 접근(Direct Access)이 빠르지만 중간 삽입 및 삭제 시 데이터 이동의 오버헤드가 큰 것은?
- ① 스택
- ② 큐
- ③ 트리
- ④ 선형 리스트(배열 기반)
정답 및 심층 해설 보기
정답: ④
해설: 선형 리스트(Array)는 데이터의 크기가 고정되어 있고 탐색 빈도가 높을 때 효율적이나, 가변적인 데이터 처리를 위해서는 연결 리스트(Linked List)로 대체해야 합니다.
다수의 개발자가 작성한 코드를 중앙 저장소에 지속적으로 통합(CI)하고, 자동화된 테스트를 거쳐 운영 서버로 지속적으로 배포(CD)하는 파이프라인의 가장 큰 목적은?
- ① 릴리스 주기 가속화 및 오류 최소화
- ② 구조적 방법론 강제
- ③ 개발자 권한의 중앙 집중화
- ④ 폭포수 모델로의 회귀
정답 및 심층 해설 보기
정답: ①
해설: CI/CD 체계는 애자일 철학을 실현하는 자동화 인프라로, 작고 빈번한 배포를 통해 시장의 요구에 기민하게 반응하고 버그 수정에 소요되는 리드 타임을 극적으로 단축시킵니다.