본문 바로가기
  • 코딩, 허쌤이 떠먹여 줄게
BackEnd/정보처리기사

정보처리기사 필기시험 정답 및 해설

by 허쌤 2026. 1. 27.

정보처리기사 필기시험 정답 및 해설

총 문제 수: 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과목 (정보시스템 구축 관리): ④②④④④④④①④②④①③①④③④④④①


합격을 기원합니다! 🎯