📝 기출문제 전체 보기
정보처리기사 실기 2026년 1회차 기출 복원입니다. 각 문제 아래의 「정답·해설 보기」를 펼치면 정답과 해설이 나타나요. 실전 시험 환경(타이머·자동 채점·오답 누적)에서 풀어보고 싶다면 글 맨 아래 「직접 풀러가기」를 눌러주세요.
문제 1
단답형다음은 C언어에 대한 문제이다. 아래 코드를 확인하여 알맞은 출력값을 작성하시오.
정답·해설 보기▾
모범답안
106.00
키워드: 106.00
해설
배열 원소의 합은 80+20+50+55+45+95+55+10+40+80 = 530이다. arr1과 arr2는 모두 같은 배열의 평균을 구하므로 각각 530 / 10 = 53.0을 반환한다. 두 결과를 더하면 106.0이며, printf("%.2f")에 의해 소수점 둘째 자리까지 출력되어 106.00이 된다.
문제 2
단답형다음 설명에 해당하는 디자인 패턴명을 괄호( ) 안에 쓰시오.
• ( ㄱ ) 패턴은 기능의 클래스 계층과 구현의 클래스 계층을 연결 • ( ㄴ ) 패턴은 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들에게 상태 변화를 알려준다.
정답·해설 보기▾
모범답안
ㄱ. Bridge ㄴ. Observer
키워드: ㄱ Bridge ㄴ Observer, Bridge Observer, 브리지 옵저버, ㄱ. 브리지 ㄴ. 옵저버
해설
Bridge 패턴은 기능 계층과 구현 계층을 분리하고 서로 연결하여 독립적으로 확장할 수 있게 하는 구조 패턴이다. Observer 패턴은 어떤 객체의 상태가 바뀌었을 때 그 객체에 의존하는 객체들에게 자동으로 알림을 전달하는 행위 패턴이다.
문제 3
단답형데이터베이스(DB) 설계 절차를 순서대로 나타낸 것이다. 각 빈칸에 들어갈 알맞은 용어를 쓰시오.
정답·해설 보기▾
모범답안
ㄱ. 요구사항 분석 ㄴ. 개념적 설계 ㄷ. 논리적 설계 ㄹ. 물리적 설계 ㅁ. 구현
키워드: 요구사항 분석 개념적 설계 논리적 설계 물리적 설계 구현, ㄱ 요구사항 분석 ㄴ 개념적 설계 ㄷ 논리적 설계 ㄹ 물리적 설계 ㅁ 구현
해설
데이터베이스 설계 절차는 요구사항 분석 → 개념적 설계 → 논리적 설계 → 물리적 설계 → 구현 순서로 진행된다. 요구사항 분석에서 사용자 요구를 파악하고, 개념적 설계에서 개체와 관계를 모델링한다. 이후 논리적 설계에서 관계 스키마로 변환하고, 물리적 설계에서 저장 구조와 접근 방법을 결정한 뒤 실제 DB를 구현한다.
문제 4
단답형다음은 비기능적 요구사항에 대한 설명이다. 각 항목이 의미하는 요구사항 유형을 보기에서 골라 쓰시오.
- 시스템 운영 중 로그 관리 및 모니터링 기능을 제공해야 한다.
- 시스템 운영 시 최소 메모리 용량을 확보해야 하며, 자원 사용량은 제한 범위 내에 있어야 한다.
- 사용자 요청에 대한 응답 시간은 최대 1분을 초과하지 않아야 한다.
[보기] 신뢰성, 가용성, 운영, 유지보수성, 자원, 성능, 이식성, 보안, 품질
정답·해설 보기▾
모범답안
1. 운영 2. 자원 3. 성능
키워드: 1 운영 2 자원 3 성능, 운영 자원 성능
해설
로그 관리와 모니터링은 시스템 운영과 관련된 요구사항이다. 최소 메모리 용량이나 자원 사용량 제한은 자원 요구사항에 해당한다. 응답 시간 제한은 시스템이 얼마나 빠르게 동작해야 하는지를 나타내므로 성능 요구사항에 해당한다.
문제 5
단답형다음 용어의 영문 약자를 쓰시오.
정보보호 관리체계
정답·해설 보기▾
모범답안
ISMS
키워드: ISMS, Information Security Management System
해설
정보보호 관리체계는 조직의 주요 정보자산을 보호하기 위해 관리적, 기술적, 물리적 보호 대책을 체계적으로 수립하고 운영하는 체계이며, 영문 약자는 ISMS이다.
문제 6
단답형HDLC는 비트 중심의 데이터 링크 제어 프로토콜로, 프레임 단위로 데이터를 전송하며 흐름 제어 및 오류 복구 기능을 제공한다. 다음 설명을 읽고 알맞은 용어를 쓰시오.
HDLC 구성 요소
- HDLC 프레임의 구성 단위로, 실제 사용자 데이터를 전송하는 프레임
- 데이터 링크의 흐름을 관리하고 오류 제어 및 통신 상태를 감시하는 프레임
- 순서 번호 없이 링크 설정, 해제, 모드 설정 등 제어 기능을 수행하는 프레임
- 두 국(Station)이 동등한 위치에서 서로 명령과 응답을 주고받는 모드
- 종국(Secondary)이 주국(Primary)의 허가 없이도 자발적으로 응답을 전송할 수 있는 모드
정답·해설 보기▾
모범답안
1. 정보 2. 감독 3. 비번호 4. 비동기 균형 모드 5. 비동기 응답 모드
키워드: 1 정보 2 감독 3 비번호 4 비동기 균형 모드 5 비동기 응답 모드, 정보 감독 비번호 비동기 균형 모드 비동기 응답 모드, I-frame S-frame U-frame ABM ARM, Information frame Supervisory frame Unnumbered frame ABM ARM
해설
HDLC의 정보 프레임은 사용자 데이터를 전송한다. 감독 프레임은 흐름 제어와 오류 제어에 사용된다. 비번호 프레임은 순서 번호 없이 링크 설정, 해제, 모드 설정 등에 사용된다. 비동기 균형 모드(ABM)는 양쪽 국이 동등하게 명령과 응답을 주고받는 모드이고, 비동기 응답 모드(ARM)는 종국이 주국의 허가 없이도 응답을 전송할 수 있는 모드이다.
문제 7
단답형다음은 Java 코드에 대한 문제이다. 아래 코드를 확인하여 알맞은 출력값을 작성하시오.
정답·해설 보기▾
모범답안
2
키워드: 2
해설
a는 A 타입 참조변수이지만 실제 객체는 B이다. a.g()는 A 클래스에 정의된 g()를 호출한다. g() 내부의 f("a")는 컴파일 시점에 A 클래스 기준으로 f(Object)를 선택한다. 실행 시점에는 동적 바인딩에 의해 B에서 오버라이딩한 f(Object)가 호출되므로 결과는 2이다. B의 f(String)은 오버로딩 메서드이며 A의 g() 내부 호출 대상이 아니므로 호출되지 않는다.
문제 8
단답형아래 파이썬 코드가 있다. 입력값으로 HumanDev를 주었을 때 출력되는 결과를 쓰시오.
정답·해설 보기▾
모범답안
veDamuH
키워드: veDamuH
해설
입력값 HumanDev에는 공백이 없으므로 split 결과는 ['HumanDev']이고, 이를 join하면 y는 HumanDev가 된다. y[::-1]은 문자열을 뒤집어 veDnamuH가 된다. 여기서 'o', 'n', 'g'에 포함되는 문자를 제외하므로 n이 제거되어 veDamuH가 출력된다.
문제 9
단답형아래 조건을 참고하여 각 SQL 구문을 실행했을 때 반환되는 행(Row)의 수를 쓰시오. 단, DEPT 칼럼은 학과명이다.
[테이블 조건] STUDENT 테이블에는 다음 세 학과의 학생 정보가 저장되어 있다. 컴퓨터과 50명 · 인터넷과 100명 · 사무자동화과 50명
[SQL 구문]
정답·해설 보기▾
모범답안
1. 200 2. 3 3. 1
키워드: 1 200 2 3 3 1, 200 3 1, 1. 200 2. 3 3. 1
해설
SELECT DEPT FROM STUDENT는 전체 학생의 DEPT 값을 조회하므로 총 200행이 반환된다. SELECT DISTINCT DEPT는 중복 학과명을 제거하므로 컴퓨터과, 인터넷과, 사무자동화과 총 3행이 반환된다. COUNT(DISTINCT DEPT)에서 DEPT = '컴퓨터과' 조건을 적용하면 서로 다른 학과명은 컴퓨터과 하나뿐이므로 결과는 1이다.
문제 10
단답형아래는 선수(PLAYER) 정보를 관리하는 테이블을 정의하는 SQL 문이다. 팀(TEAM) 테이블의 특정 칼럼을 참조하는 외래키 제약 조건을 추가하려 할 때, 괄호 ①~⑤에 들어갈 적절한 예약어(keyword) 또는 칼럼명을 아래 조건을 참고하여 쓰시오.
[조건] 외래키 제약 조건의 이름은 TEAM_TF로 지정한다. PLAYER 테이블의 TEAM_ID 칼럼이 외래키 역할을 한다. TEAM 테이블의 TEAM_ID2 칼럼을 참조 대상으로 한다.
정답·해설 보기▾
모범답안
1. CONSTRAINT 2. FOREIGN 3. TEAM_ID 4. REFERENCES 5. TEAM_ID2
키워드: 1 CONSTRAINT 2 FOREIGN 3 TEAM_ID 4 REFERENCES 5 TEAM_ID2, CONSTRAINT FOREIGN TEAM_ID REFERENCES TEAM_ID2
해설
외래키 제약 조건은 CONSTRAINT 제약조건명 FOREIGN KEY (자식 테이블 칼럼) REFERENCES 부모테이블 (참조 칼럼) 형식으로 작성한다. 따라서 제약 조건명 TEAM_TF를 지정하려면 CONSTRAINT TEAM_TF를 쓰고, PLAYER의 TEAM_ID가 TEAM의 TEAM_ID2를 참조하므로 FOREIGN KEY (TEAM_ID) REFERENCES TEAM (TEAM_ID2)가 된다.
문제 11
단답형두 호스트 a, b의 IP 주소와 서브넷 마스크가 주어졌을 때, 각 호스트가 속한 네트워크 주소를 CIDR 표기법으로 쓰시오.
[조건] · 호스트 a의 IP 주소: 192.168.11.20 · 호스트 b의 IP 주소: 192.168.12.200 · 서브넷 마스크: 255.255.254.0
[구하는 것] a. 호스트 a(192.168.11.20)가 속한 네트워크 주소 b. 호스트 b(192.168.12.200)가 속한 네트워크 주소
정답·해설 보기▾
모범답안
a. 192.168.10.0/23 b. 192.168.12.0/23
키워드: a 192.168.10.0/23 b 192.168.12.0/23, 192.168.10.0/23 192.168.12.0/23
해설
서브넷 마스크 255.255.254.0은 /23이다. /23은 세 번째 옥텟을 2 단위 블록으로 나눈다. 192.168.11.20은 10~11 범위에 속하므로 네트워크 주소는 192.168.10.0/23이다. 192.168.12.200은 12~13 범위에 속하므로 네트워크 주소는 192.168.12.0/23이다.
문제 12
단답형다음은 C언어에 대한 문제이다. 아래 코드를 확인하여 알맞은 출력값을 작성하시오.
정답·해설 보기▾
모범답안
20
키워드: 20
해설
mine.fn은 int 포인터를 인자로 받고 int 포인터를 반환하는 함수 포인터이다. dummy(n)은 배열 n의 시작 주소에서 한 칸 뒤인 n+1을 반환한다. 따라서 *mine.fn(n)은 n[1]인 32를 의미한다. printf("%x")는 정수를 16진수로 출력하므로 32의 16진수 표현인 20이 출력된다.
문제 13
단답형다음은 파이썬에 대한 문제이다. 아래 코드를 확인하여 알맞은 출력값을 작성하시오.
정답·해설 보기▾
모범답안
9A7A5A3A1A
키워드: 9A7A5A3A1A
해설
list(range(10))은 [0,1,2,3,4,5,6,7,8,9]이다. lst[::-2]는 리스트를 뒤에서부터 2칸씩 건너뛰며 가져오므로 [9,7,5,3,1]이 된다. 각 값을 출력할 때 end='A'가 적용되므로 9A7A5A3A1A가 출력된다.
문제 14
단답형아래 파이썬 코드를 실행했을 때 출력되는 값을 쓰시오.
정답·해설 보기▾
모범답안
10
키워드: 10
해설
m은 [[1], [2], [3], [4]]이고, b = m[:]은 얕은 복사이므로 b의 각 내부 리스트는 m의 내부 리스트와 같은 객체를 참조한다. 반복문에서 b[i+1] += b[i]를 수행하면 내부 리스트가 누적되어 m도 함께 변경된다. 최종적으로 m의 각 내부 리스트 길이는 1, 2, 3, 4가 되므로 합은 10이다.
문제 15
단답형다음은 특정 공격 기법에 대한 설명이다. 아래 내용을 읽고 해당하는 공격 기법을 [보기]에서 골라 쓰시오.
원본 데이터 파일은 별도로 존재하며, 공격자는 해당 파일의 경로를 가리키는 특수 파일을 생성한다. 프로그램이 임시 파일을 생성하는 순간을 틈타 해당 임시 파일을 미리 준비한 특수 파일로 교체한다. 이후 프로그램이 임시 파일의 존재를 확인하면 교체된 파일을 정상으로 인식하고 동작하게 된다.
[공격 절차]
- 공격자는 실제 파일이 아닌, 특정 파일의 경로를 참조하는 특수 파일을 미리 준비한다.
- 프로그램이 임시 파일을 생성하는 시점을 노려 해당 임시 파일을 준비한 특수 파일로 교체한다.
- 프로그램이 임시 파일의 존재 여부를 확인할 때, 조건에 부합하면 정상으로 판단하고 동작하며 부합하지 않으면 임시 파일을 삭제한다.
[보기] 하드링크 / 심볼릭링크 / 정적링크 / 동적링크
정답·해설 보기▾
모범답안
심볼릭링크
키워드: 심볼릭링크, Symbolic Link, Symlink, 소프트링크
해설
심볼릭링크는 특정 파일이나 경로를 가리키는 특수 파일이다. 공격자가 임시 파일 생성 시점을 노려 임시 파일을 심볼릭링크로 교체하면 프로그램이 의도하지 않은 원본 파일을 참조하거나 조작하게 만들 수 있다. 이러한 설명은 심볼릭링크 공격에 해당한다.
문제 16
단답형다음은 특정 보안 공격 기법에 대한 설명이다. 해당하는 공격 기법의 명칭을 쓰시오.
공격자는 목표 대상이 업무 또는 관심사로 인해 자주 방문하는 합법적인 웹사이트를 사전에 파악한다.
해당 사이트에 악성코드를 삽입하여 감염시켜 놓고, 피해자가 해당 사이트에 접속하는 순간 피해자의 시스템에 악성 프로그램이 자동으로 설치되도록 유도한다. 공격자는 불특정 다수를 노리는 것이 아니라 특정 조직이나 인물을 겨냥하며, 접속자의 IP나 환경 조건을 확인하여 목표 대상에게만 선택적으로 악성코드가 실행되도록 설계하는 경우도 있다.
피해자는 정상적인 사이트를 방문했을 뿐이므로 감염 사실을 인지하기 어렵다는 특징이 있다.
정답·해설 보기▾
모범답안
워터링 홀
키워드: 워터링 홀, Watering Hole, Watering Hole Attack, 워터링 홀 공격
해설
워터링 홀 공격은 공격 대상이 자주 방문하는 정상 웹사이트를 미리 감염시켜 두고, 대상자가 해당 사이트에 접속했을 때 악성코드에 감염되도록 유도하는 공격이다. 특정 조직이나 인물을 겨냥하는 표적 공격의 성격이 강하다.
문제 17
단답형다음은 Java 코드에 대한 문제이다. 아래 코드를 확인하여 알맞은 출력값을 작성하시오.
정답·해설 보기▾
모범답안
1123
키워드: 1123
해설
Java에서 + 연산은 왼쪽에서 오른쪽으로 수행된다. 먼저 x1 + x2는 정수 덧셈이므로 9 + 2 = 11이 된다. 이후 문자열 "2"와 만나면서 문자열 결합으로 바뀌어 "112"가 되고, 마지막으로 x3인 "3"이 이어 붙어 "1123"이 출력된다.
문제 18
단답형다음은 SQL에 대한 문제이다. 아래 테이블과 SQL을 확인하여 알맞은 출력값을 작성하시오.
정답·해설 보기▾
모범답안
2
키워드: 2
해설
dept 테이블의 budget 평균은 (100 + 300 + 200) / 3 = 200이다. WHERE 조건은 d.budget > 200이므로 budget이 300인 dept_id 20만 조건을 만족한다. employee 테이블에서 dep_id가 20인 행은 2개이므로 JOIN 후 조건을 만족하는 행 수는 2이다.
문제 19
단답형다음은 통합 테스트에서 사용되는 더미 모듈에 대한 설명이다. 괄호 안에 들어갈 알맞은 용어를 쓰시오.
( 1 ) 은/는 하위 모듈을 대신하여 단순한 결과값만 반환하도록 임시로 작성된 더미 모듈로, 하향식 통합 테스트 수행 시 필요하다. ( 2 ) 은/는 상위 모듈을 대신하여 하위 모듈의 데이터 입력과 출력을 확인하기 위한 더미 모듈로, 상향식 통합 테스트 수행 시 필요하다.
정답·해설 보기▾
모범답안
1. 스텁 2. 드라이버
키워드: 1 스텁 2 드라이버, 스텁 드라이버, Stub Driver
해설
스텁은 하향식 통합 테스트에서 아직 구현되지 않은 하위 모듈을 대신하는 더미 모듈이다. 드라이버는 상향식 통합 테스트에서 상위 모듈을 대신하여 하위 모듈을 호출하고 테스트하는 더미 모듈이다.
문제 20
단답형다음은 응집도의 유형에 대한 설명이다. 괄호 안에 들어갈 알맞은 용어를 쓰시오.
( 1 ) 은/는 모듈이 다수의 관련 기능을 가질 때, 모듈 안의 구성요소들이 그 기능을 순차적으로 수행하는 경우의 응집도이다. ( 2 ) 은/는 동일한 입력과 출력을 사용하여 서로 다른 기능을 수행하는 활동들이 모여 있는 경우의 응집도이다. ( 3 ) 은/는 모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우의 응집도이다.
정답·해설 보기▾
모범답안
1. 절차 2. 교환 3. 기능
키워드: 1 절차 2 교환 3 기능, 절차 교환 기능, 절차적 응집도 교환적 응집도 기능적 응집도, Procedural Communicational Functional
해설
절차적 응집도는 모듈 내부 구성요소들이 정해진 순서에 따라 순차적으로 수행되는 경우이다. 교환적 응집도는 동일한 입력이나 출력을 사용하는 기능들이 모여 있는 경우이다. 기능적 응집도는 모듈 내부의 모든 기능이 하나의 명확한 목적을 위해 수행되는 가장 강한 응집도이다.