정보처리기사 필기시험 정답 및 해설
총 문제 수: 80문제
배점: 각 문제 1.25점 (총 100점)
제1과목: 소프트웨어 설계 (20문제)
1. 다음 중 요구사항 분석 기법이 아닌 것은?
정답: ④ 코딩
해설:
- 요구사항 분석 기법: 인터뷰, 설문조사, 프로토타이핑, 브레인스토밍, 워크샵 등
- 코딩은 구현 단계에서 수행하는 작업으로 요구사항 분석 기법이 아님
2. UML에서 클래스 간의 관계를 나타내는 다이어그램은?
정답: ② 클래스 다이어그램
해설:
- 클래스 다이어그램: 클래스와 클래스 간의 관계를 나타냄
- 유스케이스 다이어그램: 시스템의 기능과 사용자 간의 상호작용을 나타냄
- 시퀀스 다이어그램: 객체 간의 메시지 교환 순서를 나타냄
- 활동 다이어그램: 업무 흐름이나 알고리즘을 나타냄
3. 다음 중 객체지향 설계 원칙(SOLID)에 해당하지 않는 것은?
정답: ④ Database Normalization Principle
해설:
- SOLID 원칙:
- S: Single Responsibility Principle (단일 책임 원칙)
- O: Open-Closed Principle (개방-폐쇄 원칙)
- L: Liskov Substitution Principle (리스코프 치환 원칙)
- I: Interface Segregation Principle (인터페이스 분리 원칙)
- D: Dependency Inversion Principle (의존성 역전 원칙)
- Database Normalization은 데이터베이스 설계 원칙임
4. 모듈의 독립성을 나타내는 결합도(Coupling)가 가장 낮은 것은?
정답: ① Data Coupling
해설:
- 결합도는 낮을수록 좋음
- Data Coupling < Control Coupling < Common Coupling < Content Coupling
- Data Coupling: 모듈 간 데이터만 전달하는 가장 낮은 결합도
5. 모듈의 독립성을 나타내는 응집도(Cohesion)가 가장 높은 것은?
정답: ③ Functional Cohesion
해설:
- 응집도는 높을수록 좋음
- Functional Cohesion > Sequential Cohesion > Communicational Cohesion > Procedural Cohesion > Temporal Cohesion > Logical Cohesion > Coincidental Cohesion
- Functional Cohesion: 하나의 기능을 수행하는 가장 높은 응집도
6. 다음 중 디자인 패턴의 분류가 아닌 것은?
정답: ④ 데이터 패턴(Data Pattern)
해설:
- 디자인 패턴의 분류:
- 생성 패턴: Singleton, Factory, Builder 등
- 구조 패턴: Adapter, Decorator, Facade 등
- 행위 패턴: Observer, Strategy, Command 등
- 데이터 패턴은 디자인 패턴의 공식 분류가 아님
7. 싱글톤(Singleton) 패턴의 목적은?
정답: ② 하나의 인스턴스만 생성 보장
해설:
- Singleton 패턴: 클래스의 인스턴스가 하나만 생성되도록 보장하는 생성 패턴
- 전역 변수처럼 사용하면서 인스턴스 생성 제어 가능
8. 다음 중 UML 관계(Relationship)가 아닌 것은?
정답: ④ Normalization
해설:
- UML 관계: Association, Aggregation, Composition, Generalization, Dependency, Realization
- Normalization은 데이터베이스 정규화 기법으로 UML 관계가 아님
9. 요구사항 명세서 작성 시 포함되어야 할 항목이 아닌 것은?
정답: ④ 소스 코드
해설:
- 요구사항 명세서: 기능 요구사항, 비기능 요구사항, 제약사항, 인터페이스 요구사항 등
- 소스 코드는 설계/구현 단계의 산출물로 요구사항 명세서에 포함되지 않음
10. 소프트웨어 아키텍처 패턴 중 계층화 패턴(Layered Pattern)의 장점은?
정답: ② 모듈 간 독립성 향상
해설:
- 계층화 패턴: 시스템을 여러 계층으로 분리하여 각 계층이 독립적으로 동작
- 장점: 모듈 간 독립성 향상, 유지보수 용이, 재사용성 향상
11. 다음 중 애자일(Agile) 방법론이 아닌 것은?
정답: ③ 폭포수 모델(Waterfall Model)
해설:
- 애자일 방법론: 스크럼, XP, 칸반, 크리스탈 등
- 폭포수 모델은 전통적인 순차적 개발 방법론으로 애자일이 아님
12. 유스케이스 다이어그램에서 시스템과 상호작용하는 외부 개체를 나타내는 것은?
정답: ① Actor
해설:
- Actor: 시스템과 상호작용하는 외부 개체 (사용자, 다른 시스템 등)
- Use Case: 시스템이 제공하는 기능
- System Boundary: 시스템의 범위를 나타냄
13. 다음 중 소프트웨어 재사용 기법이 아닌 것은?
정답: ④ 소스 코드 복사
해설:
- 소프트웨어 재사용: 컴포넌트, 라이브러리, 프레임워크 재사용
- 소스 코드 복사는 재사용이 아니라 코드 중복으로 비권장
14. 모듈화의 장점이 아닌 것은?
정답: ③ 복잡도 증가
해설:
- 모듈화의 장점: 유지보수 용이, 재사용성 향상, 독립적 개발 가능, 테스트 용이
- 복잡도는 증가가 아니라 감소함
15. 다음 중 소프트웨어 테스트 기법이 아닌 것은?
정답: ④ 레드박스 테스트
해설:
- 화이트박스 테스트: 내부 구조를 알고 테스트
- 블랙박스 테스트: 내부 구조를 모르고 입력/출력만으로 테스트
- 그레이박스 테스트: 화이트박스와 블랙박스의 혼합
- 레드박스 테스트는 공식적인 테스트 기법이 아님
16. 화이트박스 테스트의 기준이 아닌 것은?
정답: ④ 요구사항 커버리지
해설:
- 화이트박스 테스트 기준: 문장 커버리지, 분기 커버리지, 조건 커버리지, 경로 커버리지 등
- 요구사항 커버리지는 블랙박스 테스트 기준임
17. 다음 중 소프트웨어 품질 특성이 아닌 것은?
정답: ④ 가격(Price)
해설:
- ISO/IEC 25010 품질 특성: 기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성 등
- 가격은 품질 특성이 아니라 비용 요소임
18. 소프트웨어 프로젝트 관리에서 작업 분해 구조를 나타내는 것은?
정답: ① WBS(Work Breakdown Structure)
해설:
- WBS: 프로젝트를 작은 작업 단위로 분해한 구조
- Gantt Chart: 일정을 막대 그래프로 표현
- PERT Chart: 프로젝트 일정을 네트워크로 표현
19. 다음 중 위험 관리 프로세스가 아닌 것은?
정답: ④ 위험 무시
해설:
- 위험 관리 프로세스: 위험 식별, 위험 분석, 위험 대응 계획 수립, 위험 모니터링
- 위험 무시는 위험 관리가 아님
20. 소프트웨어 버전 관리 도구가 아닌 것은?
정답: ④ MySQL
해설:
- 버전 관리 도구: Git, SVN, CVS, Mercurial 등
- MySQL은 데이터베이스 관리 시스템으로 버전 관리 도구가 아님
제2과목: 소프트웨어 개발 (20문제)
21. 다음 중 프로그래밍 언어의 분류가 아닌 것은?
정답: ④ 데이터형 언어
해설:
- 프로그래밍 언어 분류: 절차형, 객체지향형, 함수형, 논리형 등
- 데이터형 언어는 공식적인 분류가 아님
22. Java에서 클래스와 객체의 관계를 설명한 것으로 옳은 것은?
정답: ② 객체는 클래스의 인스턴스이다
해설:
- 클래스: 객체를 만들기 위한 설계도(템플릿)
- 객체: 클래스를 기반으로 생성된 실제 인스턴스
23. 다음 중 Java의 접근 제어자(Access Modifier)가 아닌 것은?
정답: ④ internal
해설:
- Java 접근 제어자: public, private, protected, (default/package-private)
- internal은 C#의 접근 제어자임
24. Java에서 상속을 나타내는 키워드는?
정답: ① extends
해설:
- extends: 클래스 상속
- implements: 인터페이스 구현
- inherits, super는 상속 키워드가 아님
25. 다음 중 Java의 기본 데이터 타입(Primitive Type)이 아닌 것은?
정답: ② String
해설:
- Java 기본 타입: byte, short, int, long, float, double, char, boolean
- String은 참조 타입(Reference Type)임
26. Java에서 메서드 오버로딩(Overloading)의 조건이 아닌 것은?
정답: ③ 반환 타입이 달라야 함
해설:
- 오버로딩 조건: 메서드 이름 동일, 매개변수 개수/타입/순서가 달라야 함
- 반환 타입만 다르면 오버로딩이 되지 않음
27. 다음 중 예외 처리(Exception Handling)와 관련된 키워드가 아닌 것은?
정답: ④ error
해설:
- 예외 처리 키워드: try, catch, finally, throw, throws
- error는 키워드가 아님
28. Java의 컬렉션 프레임워크에서 순서가 있고 중복을 허용하는 것은?
정답: ② List
해설:
- List: 순서 있음, 중복 허용 (ArrayList, LinkedList 등)
- Set: 순서 없음, 중복 불가
- Map: 키-값 쌍
29. 다음 중 정렬 알고리즘이 아닌 것은?
정답: ④ 삭제 정렬(Delete Sort)
해설:
- 정렬 알고리즘: 버블 정렬, 선택 정렬, 삽입 정렬, 퀵 정렬, 병합 정렬 등
- 삭제 정렬은 존재하지 않는 알고리즘임
30. 시간 복잡도가 O(n log n)인 정렬 알고리즘은?
정답: ③ 병합 정렬(Merge Sort)
해설:
- 병합 정렬: O(n log n)
- 버블 정렬, 선택 정렬, 삽입 정렬: O(n²)
- 퀵 정렬: 평균 O(n log n), 최악 O(n²)
31. 다음 중 자료구조가 아닌 것은?
정답: ④ 알고리즘(Algorithm)
해설:
- 자료구조: 데이터를 저장하고 조직하는 방법 (스택, 큐, 트리, 그래프 등)
- 알고리즘: 문제를 해결하는 방법/절차
32. 스택(Stack)의 특징으로 옳은 것은?
정답: ② LIFO(Last In First Out)
해설:
- 스택: LIFO (후입선출)
- 큐: FIFO (선입선출)
33. 다음 중 트리(Tree)의 용어가 아닌 것은?
정답: ④ 스택(Stack)
해설:
- 트리 용어: 노드, 루트, 리프, 부모, 자식, 깊이, 높이 등
- 스택은 별도의 자료구조임
34. 이진 탐색 트리(Binary Search Tree)의 특징으로 옳은 것은?
정답: ③ 왼쪽 자식 노드의 값이 부모 노드보다 작고, 오른쪽 자식 노드의 값이 부모 노드보다 크다
해설:
- 이진 탐색 트리: 왼쪽 자식 < 부모 < 오른쪽 자식
- 이 조건을 만족해야 탐색이 효율적임
35. 다음 중 그래프(Graph)의 탐색 알고리즘이 아닌 것은?
정답: ④ 버블 정렬
해설:
- 그래프 탐색: DFS, BFS, 다익스트라, 플로이드-워셜 등
- 버블 정렬은 정렬 알고리즘임
36. 해시 테이블(Hash Table)의 장점이 아닌 것은?
정답: ④ 순서 보장
해설:
- 해시 테이블 장점: 빠른 검색 속도(O(1) 평균), 메모리 효율성
- 단점: 충돌 발생 가능, 순서 보장 안 됨
37. 다음 중 정규 표현식(Regular Expression)의 메타 문자와 그 의미가 잘못된 것은?
정답: ④ ? : 2개 이상 반복
해설:
- ? : 0개 또는 1개 (선택적)
- : 0개 이상
- : 1개 이상
- {n} : 정확히 n개
38. RESTful API의 HTTP 메서드와 그 의미가 잘못된 것은?
정답: ④ DELETE : 리소스 조회
해설:
- GET: 조회
- POST: 생성
- PUT: 수정/전체 교체
- DELETE: 삭제
39. 다음 중 웹 보안 취약점이 아닌 것은?
정답: ④ HTML Encoding
해설:
- 웹 보안 취약점: SQL Injection, XSS, CSRF, 파일 업로드 취약점 등
- HTML Encoding은 보안 기법으로 취약점이 아님
40. 다음 중 소프트웨어 개발 방법론이 아닌 것은?
정답: ④ 데이터베이스 모델
해설:
- 개발 방법론: 폭포수, 프로토타이핑, 나선형, 애자일 등
- 데이터베이스 모델은 개발 방법론이 아님
제3과목: 데이터베이스 구축 (10문제)
41. 다음 중 데이터베이스의 특징이 아닌 것은?
정답: ③ 데이터의 중복
해설:
- 데이터베이스 특징: 무결성, 독립성, 공유, 일관성, 보안 등
- 데이터 중복은 제거해야 할 문제임
42. 데이터베이스 정규화의 목적이 아닌 것은?
정답: ④ 데이터 중복 증가
해설:
- 정규화 목적: 데이터 중복 제거, 무결성 보장, 저장 공간 효율화
- 중복 증가는 정규화의 목적이 아님
43. 제1정규형(1NF)의 조건은?
정답: ① 모든 속성이 원자값이어야 함
해설:
- 1NF: 모든 속성이 원자값(Atomic Value)
- 2NF: 부분 함수 종속 제거
- 3NF: 이행 함수 종속 제거
- BCNF: 모든 결정자가 후보키
44. 다음 중 관계 대수 연산이 아닌 것은?
정답: ④ Delete(삭제)
해설:
- 관계 대수 연산: Selection, Projection, Join, Union, Intersection, Difference, Cartesian Product
- Delete는 SQL 명령어로 관계 대수 연산이 아님
45. SQL에서 데이터를 조회하는 명령어는?
정답: ① SELECT
해설:
- SELECT: 조회
- INSERT: 삽입
- UPDATE: 수정
- DELETE: 삭제
46. 다음 중 집계 함수가 아닌 것은?
정답: ④ JOIN
해설:
- 집계 함수: COUNT, SUM, AVG, MAX, MIN
- JOIN은 테이블을 연결하는 연산임
47. SQL에서 두 테이블을 연결하는 명령어는?
정답: ② JOIN
해설:
- JOIN: 테이블 연결
- UNION: 결과 합치기
- GROUP BY: 그룹화
- ORDER BY: 정렬
48. 다음 중 트랜잭션의 특성(ACID)이 아닌 것은?
정답: ⑤ Database(데이터베이스)
해설:
- ACID: Atomicity, Consistency, Isolation, Durability
- Database는 특성이 아님
49. 데이터베이스에서 인덱스(Index)의 주요 목적은?
정답: ② 검색 속도 향상
해설:
- 인덱스 목적: 검색 속도 향상
- 단점: 저장 공간 증가, 삽입/수정/삭제 시 성능 저하
50. 다음 중 데이터베이스 제약조건이 아닌 것은?
정답: ④ INDEX KEY
해설:
- 제약조건: PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, CHECK
- INDEX는 제약조건이 아니라 성능 향상을 위한 객체임
제4과목: 프로그래밍 언어 활용 (10문제)
51. 다음 중 프로그래밍 언어의 분류가 아닌 것은?
정답: ④ 데이터 언어
해설:
- 언어 분류: 컴파일 언어, 인터프리터 언어, 하이브리드 언어
- 데이터 언어는 공식 분류가 아님
52. Java에서 변수를 선언할 때 사용하는 키워드가 아닌 것은?
정답: ④ declare
해설:
- Java 변수 선언: 데이터 타입(int, String 등) 또는 var(Java 10+)
- declare는 Java 키워드가 아님
53. Java에서 반복문이 아닌 것은?
정답: ④ repeat
해설:
- Java 반복문: for, while, do-while, enhanced for
- repeat는 Java 반복문이 아님
54. Java에서 조건문이 아닌 것은?
정답: ④ loop
해설:
- Java 조건문: if, if-else, switch
- loop는 반복문 관련 키워드임
55. 다음 중 Java의 연산자가 아닌 것은?
정답: ④ ÷
해설:
- Java 연산자: +, -, *, /, %, ==, != 등
- ÷는 수학 기호로 Java 연산자가 아님 (나눗셈은 / 사용)
56. Java에서 배열을 선언하는 방법이 아닌 것은?
정답: ③ int arr = new int[10];
해설:
- 올바른 배열 선언:
- int[] arr = new int[10];
- int arr[] = new int[10];
- int[] arr = {1, 2, 3};
- ③번은 타입 선언이 잘못됨
57. Java에서 문자열을 비교할 때 사용하는 메서드는?
정답: ① equals()
해설:
- equals(): 문자열 내용 비교
- == : 참조 비교
- compareTo(): 문자열 크기 비교
58. 다음 중 Java의 제어문이 아닌 것은?
정답: ④ import
해설:
- 제어문: if-else, switch-case, for, while, break, continue 등
- import는 패키지/클래스 가져오기 키워드임
59. Java에서 예외를 발생시키는 키워드는?
정답: ① throw
해설:
- throw: 예외 발생
- throws: 예외 선언
- try-catch: 예외 처리
60. 다음 중 Java의 컬렉션 인터페이스가 아닌 것은?
정답: ④ Array
해설:
- 컬렉션 인터페이스: List, Set, Map, Queue
- Array는 클래스로 컬렉션 인터페이스가 아님
제5과목: 정보시스템 구축 관리 (20문제)
61. 다음 중 운영체제가 아닌 것은?
정답: ④ Java
해설:
- 운영체제: Windows, Linux, macOS, Unix 등
- Java는 프로그래밍 언어/플랫폼임
62. 프로세스와 스레드의 차이로 옳은 것은?
정답: ② 스레드는 메모리를 공유하지만 프로세스는 공유하지 않는다
해설:
- 프로세스: 독립적인 메모리 공간
- 스레드: 같은 프로세스 내에서 메모리 공유
63. 다음 중 프로세스 스케줄링 알고리즘이 아닌 것은?
정답: ④ Bubble Sort
해설:
- 스케줄링 알고리즘: FCFS, SJF, Round Robin, Priority 등
- Bubble Sort는 정렬 알고리즘임
64. 메모리 관리 기법이 아닌 것은?
정답: ④ 스택(Stack)
해설:
- 메모리 관리 기법: 페이징, 세그멘테이션, 가상 메모리
- 스택은 메모리 영역이지 관리 기법이 아님
65. 다음 중 네트워크 계층 모델(OSI 7계층)이 아닌 것은?
정답: ④ 데이터베이스 계층
해설:
- OSI 7계층: 물리, 데이터 링크, 네트워크, 전송, 세션, 표현, 응용
- 데이터베이스 계층은 OSI 모델에 없음
66. TCP/IP 프로토콜 스택의 계층이 아닌 것은?
정답: ④ 데이터 계층
해설:
- TCP/IP 계층: 응용, 전송, 인터넷, 네트워크 액세스
- 데이터 계층은 공식 계층이 아님
67. 다음 중 IP 주소의 클래스가 아닌 것은?
정답: ④ Class Z
해설:
- IP 주소 클래스: Class A, B, C, D, E
- Class Z는 존재하지 않음
68. 서브넷 마스크(Subnet Mask)의 주요 용도는?
정답: ① IP 주소와 네트워크 ID를 구분
해설:
- 서브넷 마스크: IP 주소에서 네트워크 ID와 호스트 ID를 구분
- 서브네팅을 통해 네트워크를 분할
69. 다음 중 네트워크 장비가 아닌 것은?
정답: ④ 컴파일러(Compiler)
해설:
- 네트워크 장비: 라우터, 스위치, 허브, 브리지 등
- 컴파일러는 소프트웨어 개발 도구임
70. HTTP와 HTTPS의 주요 차이점은?
정답: ② HTTPS는 암호화를 사용하고 HTTP는 사용하지 않는다
해설:
- HTTP: 암호화 없음
- HTTPS: SSL/TLS 암호화 사용
71. 다음 중 웹 서버 소프트웨어가 아닌 것은?
정답: ④ MySQL
해설:
- 웹 서버: Apache, Nginx, IIS, Tomcat 등
- MySQL은 데이터베이스 관리 시스템임
72. DNS(Domain Name System)의 주요 기능은?
정답: ① 도메인 이름을 IP 주소로 변환
해설:
- DNS: 도메인 이름 ↔ IP 주소 변환
- 예: www.example.com → 192.0.2.1
73. 다음 중 보안 프로토콜이 아닌 것은?
정답: ③ FTP
해설:
- 보안 프로토콜: SSL/TLS, SSH, HTTPS, IPSec 등
- FTP는 암호화되지 않은 파일 전송 프로토콜 (보안 프로토콜 아님)
- SFTP는 보안 프로토콜임
74. 방화벽(Firewall)의 주요 기능은?
정답: ① 네트워크 트래픽 필터링
해설:
- 방화벽: 허용/차단 규칙에 따라 네트워크 트래픽 필터링
- 보안 정책에 따라 패킷 차단/허용
75. 다음 중 암호화 알고리즘이 아닌 것은?
정답: ④ HTTP
해설:
- 암호화 알고리즘: AES, RSA, DES, 3DES, Blowfish 등
- HTTP는 통신 프로토콜로 암호화 알고리즘이 아님
76. 해시 함수의 특징이 아닌 것은?
정답: ③ 역변환 가능
해설:
- 해시 함수 특징: 일방향 함수, 고정된 길이 출력, 충돌 회피
- 역변환 불가능 (일방향 함수)
77. 다음 중 클라우드 컴퓨팅 서비스 모델이 아닌 것은?
정답: ④ DaaS(Database as a Service)
해설:
- 클라우드 서비스 모델: IaaS, PaaS, SaaS
- DaaS는 공식 모델이 아니며, PaaS에 포함될 수 있음
78. 가상화(Virtualization)의 장점이 아닌 것은?
정답: ④ 성능 저하
해설:
- 가상화 장점: 하드웨어 자원 효율적 활용, 서버 통합, 비용 절감, 유연성
- 성능 저하는 단점임
79. 다음 중 DevOps 도구가 아닌 것은?
정답: ④ MySQL
해설:
- DevOps 도구: Jenkins, Docker, Kubernetes, Ansible, Terraform 등
- MySQL은 데이터베이스로 DevOps 도구가 아님
80. 컨테이너(Container) 기술의 대표적인 예는?
정답: ① Docker
해설:
- 컨테이너 기술: Docker, Kubernetes, Podman 등
- VirtualBox, VMware, Hyper-V는 가상화 기술임
정답 요약
제1과목 (소프트웨어 설계): ④②④①③④②④④②③①④③④④④①④④
제2과목 (소프트웨어 개발): ④②②①②③④②④③④②④③④④③④④④
제3과목 (데이터베이스 구축): ③④①④①④②⑤②④
제4과목 (프로그래밍 언어 활용): ④④④④④③①④①④
제5과목 (정보시스템 구축 관리): ④②④④④④④①④②④①③①④③④④④①
합격을 기원합니다! 🎯
'BackEnd > 정보처리기사' 카테고리의 다른 글
| 정보처리기사 실기 SQL 기출 정리 (2020~2024) (0) | 2026.02.04 |
|---|---|
| 정보처리기사 실기시험 해설 (0) | 2026.02.02 |
| 정보처리기사 실기시험 문제 (0) | 2026.02.02 |
| 정보처리기사 필기시험 정답 및 해설 (0) | 2026.01.26 |
| 정보처리기사 필기시험 문제 (0) | 2026.01.26 |