문서 읽는 데 119분 · 기출 6회 · 100문항

정보처리기사 필기 — 기출 6회 풀이

목차 106
전체 6회 중 6회 · 기출문제풀이

2020~2025 최신 기출을 재구성한 종합 세트. 100문항·5과목 × 20문항. 4과목(프로그래밍 언어 활용)에 IPv6·교착상태·흐름 제어 등 네트워크·운영체제 이론과 C·Python·Java 코드 추적이 고르게 섞였고, 5과목(정보시스템 구축관리)은 접근 제어 모델·암호화(스트림/블록)·랜섬웨어 등 정보보안 문항이 두텁다. 출처: 기출 재구성 6회


Part Ⅰ 소프트웨어 설계 (문 001~020)

문 001. 소프트웨어 개발 단계에서 요구 분석 과정에 대한 설명으로 거리가 먼 것은?

  • ① 분석 결과의 문서화를 통해 향후 유지보수에 유용하게 활용할 수 있다.
  • ② 개발 비용이 가장 많이 소요되는 단계이다.
  • ③ 자료흐름도, 자료 사전 등이 효과적으로 이용될 수 있다.
  • ④ 보다 구체적인 명세를 위해 소단위 명세서(Mini-Spec)가 활용될 수 있다.
정답 및 해설 보기

정답 ②

②'개발 비용이 가장 많이 소요되는 단계'는 요구 분석이 아니라 유지보수 단계다(전체의 약 60~70%). 요구 분석은 DFD·자료 사전·소단위 명세서(Mini-Spec)를 활용하고, 분석 결과 문서화로 향후 유지보수를 돕는다.

💡 비용 최대 = 유지보수 단계.

문 002. 요구공학(Requirements Engineering)의 요구사항 개발 프로세스를 순서대로 바르게 나열한 것은?

  • ① 도출 → 분석 → 명세 → 확인
  • ② 분석 → 도출 → 명세 → 확인
  • ③ 명세 → 도출 → 분석 → 확인
  • ④ 도출 → 명세 → 분석 → 확인
정답 및 해설 보기

정답 ①

요구사항 개발은 도출(Elicitation) → 분석(Analysis) → 명세(Specification) → 확인(Validation) 순으로 진행한다. 이해관계자에게서 뽑아내고(도출), 정리·모델링하고(분석), 문서화하고(명세), 검증(확인)한다.

🔑 암기 — 요구사항: 도·분·명·확(도출-분석-명세-확인).

문 003. 애자일(Agile) 기법 중 스크럼(Scrum)과 관련된 용어에 대한 설명이 틀린 것은?

  • ① 스크럼 마스터(Scrum Master)는 스크럼 프로세스를 따르고, 팀이 스크럼을 효과적으로 활용할 수 있도록 보장하는 역할 등을 맡는다.
  • ② 제품 백로그(Product Backlog)는 스크럼 팀이 해결해야 하는 목록으로 소프트웨어 요구사항, 아키텍처 정의 등이 포함될 수 있다.
  • ③ 스프린트(Sprint)는 하나의 완성된 최종 결과물을 만들기 위한 주기로 3달 이상의 장기간으로 결정된다.
  • ④ 속도(Velocity)는 한 번의 스프린트에서 한 팀이 어느 정도의 제품 백로그를 감당할 수 있는지에 대한 추정치로 볼 수 있다.
정답 및 해설 보기

정답 ③

③'스프린트가 3달 이상의 장기간'이 틀렸다. 스프린트(Sprint)는 보통 2~4주의 짧은 반복 주기라 애자일의 '짧은 반복' 철학에 정면으로 어긋난다. 스크럼 마스터(①)·제품 백로그(②)·속도(④) 설명은 옳다.

⚠️ 함정 — 스프린트 = 2~4주 단기(3달 이상은 폭포수에 가까움).

문 004. 아키텍처 설계 과정이 올바른 순서로 나열된 것은? ㉠ 설계 목표 설정 ㉡ 시스템 타입 결정 ㉢ 스타일 적용 및 커스터마이즈 ㉣ 서브시스템의 기능, 인터페이스 동작 작성 ㉤ 아키텍처 설계 검토

  • ① ㉠ → ㉡ → ㉢ → ㉣ → ㉤
  • ② ㉡ → ㉠ → ㉢ → ㉣ → ㉤
  • ③ ㉠ → ㉢ → ㉡ → ㉣ → ㉤
  • ④ ㉡ → ㉠ → ㉣ → ㉢ → ㉤
정답 및 해설 보기

정답 ①

아키텍처 설계는 설계 목표 설정(㉠) → 시스템 타입 결정(㉡) → 스타일 적용·커스터마이즈(㉢) → 서브시스템 기능·인터페이스·동작 작성(㉣) → 아키텍처 설계 검토(㉤) 순이다.

🔑 암기 — 목표→타입→스타일→서브시스템→검토.

문 005. 다음 중 요구사항 모델링에 활용되지 않는 것은?

  • ① 애자일(Agile) 방법
  • ② 유스케이스 다이어그램(Use Case Diagram)
  • ③ 시퀀스 다이어그램(Sequence Diagram)
  • ④ 단계 다이어그램(Phase Diagram)
정답 및 해설 보기

정답 ④

④'단계 다이어그램(Phase Diagram)'은 UML 표준 다이어그램이 아니라(물리·화학 분야 용어) 요구사항 모델링에 쓰이지 않는다. 애자일(①)·유스케이스 다이어그램(②)·시퀀스 다이어그램(③)은 요구 도출·표현에 활용된다.

⚠️ 함정 — UML에 Phase Diagram 없음(가짜 이름).

문 006. 소프트웨어 설계에서 자주 발생하는 문제에 대한 일반적이고 반복적인 해결 방법을 무엇이라고 하는가?

  • ① 모듈 분해
  • ② 디자인 패턴
  • ③ 연관 관계
  • ④ 클래스 도출
정답 및 해설 보기

정답 ②

자주 발생하는 설계 문제의 일반적·반복적 해결 방법디자인 패턴이다. GoF(Gang of Four)가 23가지로 분류했다. 모듈 분해=독립 모듈 분할, 연관 관계=클래스 간 관계, 클래스 도출=클래스 식별이다.

💡 디자인 패턴 = 설계 문제의 재사용 가능한 레시피(GoF 23종).

문 007. 폭포수 모형의 특징으로 거리가 먼 것은?

  • ① 순차적인 접근방법을 이용한다.
  • ② 나선형 모형의 단점을 보완하기 위한 모형이다.
  • ③ 단계적 정의와 산출물이 명확하다.
  • ④ 모형의 적용 경험과 성공사례가 많다.
정답 및 해설 보기

정답 ②

폭포수 모형이 나선형 모형보다 먼저 등장했으므로 ②'나선형의 단점을 보완한 모형'이 틀렸다. 오히려 나선형이 폭포수의 위험 관리 부재를 보완했다. 순차적 접근(①)·명확한 산출물(③)·풍부한 성공사례(④)는 폭포수의 특징이다.

💡 등장 순서: 폭포수 → 나선형(위험 관리 보완).

문 008. 다음 중 가장 결합도가 강한 것은?

  • ① Data Coupling
  • ② Stamp Coupling
  • ③ Common Coupling
  • ④ Control Coupling
정답 및 해설 보기

정답 ③

결합도 강도 순서: 자료(Data) < 스탬프(Stamp) < 제어(Control) < 외부(External) < 공통(Common) < 내용(Content). 보기 중 ③공통(Common) 결합도가 가장 강하다.

🔑 암기 — 결합도 약→강 = 자·스·제·외·공·내.

문 009. 바람직한 소프트웨어 설계 지침이 아닌 것은?

  • ① 결합도를 최소화하고 응집도를 최대화한다.
  • ② 복잡도와 중복성을 줄이고 일관성을 유지시킨다.
  • ③ 하나의 입구와 하나의 출구를 갖도록 해야 한다.
  • ④ 모듈의 크기를 가능한 작게 구성하여 병행성 수준을 높여야 한다.
정답 및 해설 보기

정답 ④

모듈 크기를 무조건 작게 하면 모듈 수가 늘어 통합 복잡도가 오르므로 ④가 바람직하지 않다. 결합도 최소화·응집도 최대화(①), 복잡도·중복 감소(②), 단일 입출구(③)는 올바른 지침이다.

💡 모듈 크기 = 적정 수준 유지(무조건 작게 ✗).

문 010. UI를 설계할 때 사용자 측면에서의 요구사항으로, 사용자가 원하는 목표를 달성하기 위해 수행할 내용을 기술하는 것은?

  • ① 프로토타입
  • ② 레이아웃
  • ③ 유스케이스
  • ④ 스토리보드
정답 및 해설 보기

정답 ③

사용자 관점에서 목표 달성을 위해 수행할 내용을 기술한 것은 유스케이스(Use Case)다. 프로토타입=시제품, 레이아웃=배치 구조, 스토리보드=화면 흐름 문서다.

💡 유스케이스 = 사용자 목표 달성 시나리오.

문 011. 사용자 인터페이스를 담당하는 View, 데이터와 비즈니스 로직을 담당하는 Model, 둘 사이를 제어하는 Controller로 구성 요소를 분리한 아키텍처 패턴은?

  • ① 계층화(Layered) 패턴
  • ② MVC(Model-View-Controller) 패턴
  • ③ 파이프-필터(Pipe-Filter) 패턴
  • ④ 클라이언트-서버(Client-Server) 패턴
정답 및 해설 보기

정답 ②

화면 표현(View)·데이터와 로직(Model)·제어(Controller)로 관심사를 분리한 것이 MVC 패턴이다. 계층화 패턴은 기능을 수직 계층으로, 파이프-필터는 데이터를 필터로 흘려 처리하며, 클라이언트-서버는 요청·응답 구조로 나눈다.

🔑 암기 — View·Model·Controller 분리 = MVC.

문 012. 럼바우(Rumbaugh)의 객체지향 분석 절차를 가장 바르게 나열한 것은?

  • ① 객체 모형 → 동적 모형 → 기능 모형
  • ② 객체 모형 → 기능 모형 → 동적 모형
  • ③ 기능 모형 → 동적 모형 → 객체 모형
  • ④ 기능 모형 → 객체 모형 → 동적 모형
정답 및 해설 보기

정답 ①

럼바우(OMT) 객체지향 분석은 객체 모형(정보 모델링) → 동적 모형(상태 다이어그램) → 기능 모형(DFD) 순이다. 나머지 보기는 순서가 뒤바뀌었다.

🔑 암기 — 럼바우 3모형 = 객·동·기(순서 그대로).

문 013. 다음 설명에 해당하는 소프트웨어 개발 생명주기 모형은?

  • 폭포수 모형을 확장한 형태로, 개발 단계와 이에 대응하는 테스트 단계를 V자 형태로 나란히 배치한다.
  • 각 개발 단계가 끝나면 대응하는 검증(Verification)·확인(Validation) 활동을 수행한다.
  • ① 나선형 모형
  • ② V 모형
  • ③ 프로토타입 모형
  • ④ 4GT 모형
정답 및 해설 보기

정답 ②

개발 단계와 테스트 단계를 V자로 대응시켜 검증·확인을 강조한 모형이 V-모델이다. 단위 테스트↔상세 설계, 통합 테스트↔아키텍처 설계처럼 좌우가 짝을 이룬다.

🔑 암기 — V-모델 = 폭포수 + 단계별 대응 테스트(검증·확인).

문 014. UML(Unified Modeling Language)에 대한 설명 중 틀린 것은?

  • ① 기능적 모델은 사용자 측면에서 본 시스템 기능이며, UML에서는 Use Case Diagram을 사용한다.
  • ② 정적 모델은 객체, 속성, 연관관계, 오퍼레이션의 시스템의 구조를 나타내며, UML에서는 Class Diagram을 사용한다.
  • ③ 동적 모델은 시스템의 내부 동작을 말하며, UML에서는 Sequence Diagram, State Diagram, Activity Diagram을 사용한다.
  • ④ State Diagram은 객체들 사이의 메시지 교환을 나타내며, Sequence Diagram은 하나의 객체가 가진 상태와 그 상태의 변화에 의한 동작 순서를 나타낸다.
정답 및 해설 보기

정답 ④

④에서 State Diagram(객체의 상태와 변화)과 Sequence Diagram(객체 간 메시지 교환 순서)의 설명이 서로 뒤바뀌었다. 기능=유스케이스(①), 정적=클래스(②), 동적=시퀀스·상태·활동(③) 설명은 옳다.

⚠️ 함정 — State=상태 변화 · Sequence=메시지 순서(반대 서술 주의).

문 015. 객체지향 분석 기법의 하나로 객체 모형, 동적 모형, 기능 모형의 3개 모형을 생성하는 방법은?

  • ① Wirfs-Block Method
  • ② Rumbaugh Method
  • ③ Booch Method
  • ④ Jacobson Method
정답 및 해설 보기

정답 ②

객체·동적·기능 3개 모형을 생성하는 객체지향 분석은 Rumbaugh(럼바우) 방법이다. Wirfs-Brock=책임 주도 설계, Booch=미시·거시 프로세스, Jacobson=유스케이스 중심이다.

🔑 암기 — 객·동·기 3모형 = 럼바우 · 유스케이스 = Jacobson.

문 016. 자료 흐름도(DFD)를 작성하는데 지침이 될 수 없는 항목은?

  • ① 자료 흐름은 처리(Process)를 거쳐 변환될 때마다 새로운 이름을 부여한다.
  • ② 어떤 처리(Process)가 출력 자료를 산출하기 위해서는 반드시 입력 자료가 발생해야 한다.
  • ③ 자료 저장소에 입력 화살표가 있으면 반드시 출력 화살표도 표시되어야 한다.
  • ④ 상위 단계의 처리(Process)와 하위 자료 흐름도의 자료 흐름은 서로 일치되어야 한다.
정답 및 해설 보기

정답 ③

자료 저장소(Data Store)는 입력만 또는 출력만 있을 수 있어 ③'입력 화살표가 있으면 반드시 출력 화살표도'가 틀렸다. 변환 시 새 이름 부여(①), 출력엔 입력 필요(②), 상하위 자료 흐름 일치(④)는 옳은 지침이다.

💡 자료 저장소 = 입력·출력 독립(양쪽 필수 ✗).

문 017. GoF(Gangs of Four) 디자인 패턴의 구조 패턴에 속하지 않는 것은?

  • ① Composite
  • ② Observer
  • ③ Adapter
  • ④ Decorator
정답 및 해설 보기

정답 ②

Observer(옵서버)행위 패턴이다. 구조 패턴은 Composite·Adapter·Decorator·Bridge·Facade·Flyweight·Proxy다.

🔑 암기 — 구조 = 어·브·컴·데·퍼·플·프 · Observer는 행위 패턴.

문 018. 다음 내용이 설명하는 디자인 패턴은?

  • 하나의 객체를 생성하면 생성된 객체를 어디서든 참조할 수 있지만, 여러 프로세스가 동시에 참조할 수는 없다.
  • 클래스 내에서 인스턴스가 하나뿐임을 보장하며, 불필요한 메모리 낭비를 최소화 할 수 있다.
  • ① Singleton
  • ② Adapter
  • ③ Prototype
  • ④ Decorator
정답 및 해설 보기

정답 ①

Singleton은 클래스의 인스턴스가 하나뿐임을 보장하고 전역 접근점을 제공해 불필요한 메모리 낭비를 줄인다. Adapter=인터페이스 변환, Prototype=복제 생성, Decorator=기능 동적 추가다.

💡 Singleton = 인스턴스 단 하나 + 전역 접근.

문 019. 인터페이스 요구 사항 검토 방법에 대한 설명이 옳은 것은?

  • ① 리팩토링 - 작성자 이외의 전문 검토 그룹이 요구사항 명세서를 상세히 조사하여 결함, 표준 위배, 문제점 등을 파악
  • ② 동료검토 - 요구 사항 명세서 작성자가 요구 사항 명세서를 설명하고 이해관계자들이 설명을 들으면서 결함을 발견
  • ③ 인스펙션 - 자동화된 요구 사항 관리 도구를 이용하여 요구 사항 추적성과 일관성을 검토
  • ④ CASE 도구 - 검토 자료를 회의 전에 배포해서 사전 검토한 후 짧은 시간 동안 검토 회의를 진행하면서 결함을 발견
정답 및 해설 보기

정답 ②

동료검토(Walkthrough)작성자가 직접 명세서를 설명하고 이해관계자들이 들으며 결함을 찾는 방법이다. ①은 인스펙션, ③은 요구 추적 도구, ④는 사전 배포 후 검토 회의 설명이라 각 명칭과 어긋난다.

💡 동료검토 = 작성자 발표 · 인스펙션 = 전문가 결함 발견.

문 020. CASE(Computer-Aided Software Engineering) 도구에 대한 설명으로 거리가 먼 것은?

  • ① 소프트웨어 개발 과정의 일부 또는 전체를 자동화하기 위한 도구이다.
  • ② 표준화된 개발 환경 구축 및 문서 자동화 기능을 제공한다.
  • ③ 작업 과정 및 데이터 공유를 통해 작업자간 커뮤니케이션을 증대한다.
  • ④ 2000년대 이후 소개되었으며, 객체지향 시스템에 한해 효과적으로 활용된다.
정답 및 해설 보기

정답 ④

CASE 도구는 1980년대 후반부터 소개됐고 구조적·객체지향 등 모든 개발 패러다임에 활용되므로 '2000년대 이후·객체지향 한정'이 틀렸다. 자동화(①)·표준화·문서화(②)·커뮤니케이션 증대(③)는 옳다.

💡 CASE = SW 공학 전반 자동화(객체지향 한정 ✗).


Part Ⅱ 소프트웨어 개발 (문 021~040)

문 021. 그래프의 특수한 형태로 노드(Node)와 선분(Branch)으로 되어 있고, 정점 사이에 사이클(Cycle)이 형성되어 있지 않으며, 자료 사이의 관계성이 계층 형식으로 나타나는 비선형 구조는?

  • ① tree
  • ② network
  • ③ stack
  • ④ distributed
정답 및 해설 보기

정답 ①

노드·선분으로 구성되고 사이클이 없으며 계층 형식인 비선형 구조는 트리(Tree)다. network=그래프, stack=선형, distributed는 자료구조 명칭이 아니다.

💡 계층 비선형 + 사이클 없음 = 트리.

문 022. DBMS의 필수 기능 중 모든 응용 프로그램들이 요구하는 데이터 구조를 지원하기 위해 데이터베이스에 저장될 데이터 타입과 구조에 대한 정의, 이용 방식, 제약 조건 등을 명시하는 기능은?

  • ① 정의 기능
  • ② 조작 기능
  • ③ 제어 기능
  • ④ 절차 기능
정답 및 해설 보기

정답 ①

데이터의 타입·구조·제약 조건을 명시하는 DBMS 기능은 정의(Definition) 기능이다. 조작 기능=CRUD 연산, 제어 기능=보안·무결성·동시성 제어다.

🔑 암기 — DBMS 필수 3기능 = 정의·조작·제어.

문 023. 소프트웨어 테스트의 기본 원리 중, 동일한 테스트 케이스를 반복 수행하면 더 이상 새로운 결함을 찾지 못하는 현상을 무엇이라 하는가?

  • ① 살충제 패러독스(Pesticide Paradox)
  • ② 오류 부재의 궤변(Absence of Errors Fallacy)
  • ③ 파레토 법칙(Pareto Principle)
  • ④ 완벽한 테스트 불가능(Exhaustive Testing)
정답 및 해설 보기

정답 ①

같은 테스트 케이스를 반복하면 살충제에 내성이 생긴 해충처럼 더는 새 결함이 잡히지 않는 현상이 살충제 패러독스다. 이를 막으려면 테스트 케이스를 주기적으로 개선·보완해야 한다.

🔑 암기 — 살충제 패러독스 = 같은 케이스 반복 → 새 결함 못 잡음.

문 024. 정형 기술 검토(FTR)의 지침으로 틀린 것은?

  • ① 의제를 제한한다.
  • ② 논쟁과 반박을 제한한다.
  • ③ 문제 영역을 명확히 표현한다.
  • ④ 참가자의 수를 제한하지 않는다.
정답 및 해설 보기

정답 ④

FTR은 참가자 수를 제한(보통 3~5명)하므로 ④'제한하지 않는다'가 틀렸다. 의제 제한(①), 논쟁·반박 제한(②), 문제 영역 명확화(③)는 올바른 지침이다.

🔑 암기 — FTR = 참가자 수 제한 필수.

문 025. 자료 구조에 대한 설명으로 틀린 것은?

  • ① 큐는 비선형 구조에 해당한다.
  • ② 큐는 First In – First Out 처리를 수행한다.
  • ③ 스택은 Last In – First Out 처리를 수행한다.
  • ④ 스택은 서브루틴 호출, 인터럽트 처리, 수식 계산 및 수식 표기법에 응용된다.
정답 및 해설 보기

정답 ①

큐(Queue)선형 구조(FIFO)라 ①'비선형'이 틀렸다. 비선형은 트리·그래프다. 큐=FIFO(②), 스택=LIFO(③), 스택 응용=서브루틴·인터럽트·수식 계산(④)은 옳다.

💡 큐 = 선형 구조(비선형 ✗).

문 026. 테스트 케이스에 일반적으로 포함되는 항목이 아닌 것은?

  • ① 테스트 조건
  • ② 테스트 데이터
  • ③ 테스트 비용
  • ④ 예상 결과
정답 및 해설 보기

정답 ③

테스트 케이스 구성 항목은 테스트 조건(①)·데이터(②)·예상 결과(④) 등이다. ③테스트 비용은 구성 항목이 아니다.

💡 테스트 케이스 = 조건 + 데이터 + 예상 결과.

문 027. 하향식 통합에 있어서 모듈 간의 통합 시험을 위해 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈을 무엇이라고 하는가?

  • ① Stub
  • ② Driver
  • ③ Procedure
  • ④ Function
정답 및 해설 보기

정답 ①

하향식 통합에서 임시로 제공되는 시험용 하위 모듈은 Stub이다. Driver는 상향식 통합에서 상위 모듈을 대신한다.

🔑 암기 — 하향식 = Stub · 상향식 = Driver.

문 028. 소프트웨어 재공학이 소프트웨어의 재개발에 비해 갖는 장점으로 거리가 먼 것은?

  • ① 위험부담 감소
  • ② 비용 절감
  • ③ 시스템 명세의 오류억제
  • ④ 개발 시간의 증가
정답 및 해설 보기

정답 ④

재공학은 위험부담 감소(①)·비용 절감(②)·오류 억제(③)의 장점이 있다. ④개발 시간의 증가는 장점이 아니며, 재공학은 오히려 개발 시간을 단축한다.

💡 재공학 = 위험↓ · 비용↓ · 시간↓.

문 029. 다음 자료에 대하여 선택(Selection) 정렬을 이용하여 오름차순으로 정렬하고자 한다. 3회전 후의 결과로 옳은 것은? 자료: 37, 14, 17, 40, 35

  • ① 14, 17, 37, 40, 35
  • ② 14, 37, 17, 40, 35
  • ③ 17, 14, 37, 35, 40
  • ④ 14, 17, 35, 40, 37
정답 및 해설 보기

정답 ④

선택 정렬은 매 회전마다 남은 요소 중 최솟값을 찾아 앞과 교환한다. 37,14,17,40,35 → 1회전 14,37,17,40,35 → 2회전 14,17,37,40,35 → 3회전 14,17,35,40,37이다. 실제 정렬로도 3회전 결과가 확인된다.

🔑 암기 — 선택 정렬 = 매 회전 최솟값을 앞으로.

문 030. 화이트박스 검사 기법에 해당하는 것으로만 짝지어진 것은? ㉠ 데이터 흐름 검사 ㉡ 루프 검사 ㉢ 동등 분할 검사 ㉣ 경계값 분석 ㉤ 원인 결과 그래프 기법 ㉥ 오류예측 기법

  • ① ㉠, ㉡
  • ② ㉠, ㉣
  • ③ ㉡, ㉤
  • ④ ㉢, ㉥
정답 및 해설 보기

정답 ①

화이트박스데이터 흐름 검사(㉠)·루프 검사(㉡)·기본 경로·조건 검사다. 동등 분할(㉢)·경계값(㉣)·원인결과 그래프(㉤)·오류예측(㉥)은 블랙박스라 ①(㉠,㉡)만 화이트박스 조합이다.

🔑 암기 — 화이트=구조 기반(흐름·루프) · 블랙=명세 기반(분할·경계).

문 031. 다음 설명의 소프트웨어 버전 관리 도구 방식은?

  • 버전 관리 자료가 원격 저장소와 로컬 저장소에 함께 저장되어 관리된다.
  • 로컬 저장소에서 버전 관리가 가능하므로 원격 저장소에 문제가 생겨도 로컬 저장소의 자료를 이용하여 작업할 수 있다.
  • 대표적인 버전 관리 도구로 Git이 있다.
  • ① 단일 저장소 방식
  • ② 분산 저장소 방식
  • ③ 공유 폴더 방식
  • ④ 클라이언트·서버 방식
정답 및 해설 보기

정답 ②

원격 저장소와 로컬 저장소에 함께 저장되고 대표 도구가 Git인 것은 분산 저장소 방식이다. 클라이언트·서버 방식의 대표 도구는 SVN이다.

🔑 암기 — 원격+로컬 + Git = 분산 저장소 · SVN = 클라이언트·서버.

문 032. 스택(Stack)에 대한 옳은 내용으로만 나열된 것은? ㉠ FIFO 방식으로 처리된다. ㉡ 순서 리스트의 뒤(Rear)에서 노드가 삽입되며, 앞(Front)에서 노드가 제거된다. ㉢ 선형 리스트의 양쪽 끝에서 삽입과 삭제가 모두 가능한 자료 구조이다. ㉣ 인터럽트 처리, 서브루틴 호출 작업 등에 응용된다.

  • ① ㉠, ㉡
  • ② ㉡, ㉢
  • ③ ㉣
  • ④ ㉠, ㉡, ㉢, ㉣
정답 및 해설 보기

정답 ③

스택은 LIFO로 인터럽트·서브루틴 호출(㉣)에 쓰인다. ㉠FIFO·㉡Rear 삽입/Front 제거는 , ㉢양쪽 끝 삽입·삭제는 데크의 특성이라 ③(㉣)만 맞다.

💡 스택=LIFO(접시) · 큐=FIFO(줄) · 데크=양쪽.

문 033. 프로그램 설계도의 하나인 NS Chart에 대한 설명으로 가장 거리가 먼 것은?

  • ① 논리의 기술에 중점을 두고 도형을 이용한 표현 방법이다.
  • ② 이해하기 쉽고 코드 변환이 용이하다.
  • ③ 화살표나 GOTO를 사용하여 이해하기 쉽다.
  • ④ 연속, 선택, 반복 등의 제어 논리 구조를 표현한다.
정답 및 해설 보기

정답 ③

NS Chart(Nassi-Schneiderman)는 화살표·GOTO를 쓰지 않는 구조적 프로그래밍 표현이라 ③이 틀렸다. 논리 기술 중심(①)·코드 변환 용이(②)·연속·선택·반복 표현(④)은 옳다.

💡 NS Chart = GOTO·화살표 없음(박스로 제어 구조 표현).

문 034. 다음 중 인터페이스 구현 검증에 사용하는 테스트 자동화 도구로 거리가 먼 것은?

  • ① xUnit
  • ② FitNesse
  • ③ STAF
  • ④ Ant
정답 및 해설 보기

정답 ④

xUnit(단위 테스트), FitNesse(웹 기반 협업 테스트), STAF(분산 환경 테스트)는 인터페이스 구현을 검증하는 테스트 자동화 도구다. Ant는 소스를 컴파일·패키징하는 빌드 자동화 도구이므로 성격이 다르다.

검증(테스트) 도구 빌드 도구
xUnit · STAF · FitNesse · NTAF · Selenium Ant · Maven · Gradle

🔑 암기 — 인터페이스 검증 = xUnit·STAF·FitNesse. Ant/Maven은 빌드 도구.

문 035. 다음은 인스펙션(Inspection) 과정을 표현한 것이다. (가)~(마)에 들어갈 말을 [보기]에서 찾아 바르게 연결한 것은?

[보기] ㉠ 준비, ㉡ 사전 교육, ㉢ 인스펙션 회의, ㉣ 수정, ㉤ 후속 조치

  • ① (가) - ㉡, (나) - ㉢
  • ② (나) - ㉠, (다) - ㉢
  • ③ (다) - ㉢, (라) - ㉤
  • ④ (라) - ㉣, (마) - ㉢
정답 및 해설 보기

정답 ②

인스펙션 과정은 계획 → 사전 교육(㉡) → 준비(㉠) → 인스펙션 회의(㉢) → 수정(㉣) → 후속 조치(㉤)다. 따라서 (나)=㉠준비, (다)=㉢회의로 이은 ②가 맞다.

🔑 암기 — 인스펙션 = 계획→교육→준비→회의→수정→후속(6단계).

문 036. 연결 리스트(Linked List)에 대한 설명으로 거리가 먼 것은?

  • ① 노드의 삽입이나 삭제가 쉽다.
  • ② 노드들이 포인터로 연결되어 검색이 빠르다.
  • ③ 연결을 해주는 포인터(Pointer)를 위한 추가 공간이 필요하다.
  • ④ 연결 리스트 중에서 중간 노드 연결이 끊어지면 그 다음 노드를 찾기 힘들다.
정답 및 해설 보기

정답 ②

연결 리스트는 포인터를 따라 순차 탐색하므로 검색이 느리다 — ②가 틀렸다(배열의 인덱스 직접 접근보다 불리). 삽입·삭제 용이(①), 포인터 추가 공간(③), 중간 끊김 시 탐색 곤란(④)은 옳다.

💡 연결 리스트 = 삽입·삭제 빠름 · 검색 느림(순차 탐색).

문 037. n개의 노드로 구성된 무방향 그래프의 최대 간선 수는?

  • ① n-1
  • ② n/2
  • ③ n(n-1)/2
  • ④ n(n+1)
정답 및 해설 보기

정답 ③

무방향 그래프의 최대 간선 수는 모든 노드 쌍을 연결하는 완전 그래프일 때 n(n−1)/2다. 방향 그래프는 n(n−1)이다.

🔑 암기 — 무방향 = n(n−1)/2 · 방향 = n(n−1).

문 038. 이진 검색 알고리즘에 대한 설명으로 틀린 것은?

  • ① 탐색 효율이 좋고 탐색 시간이 적게 소요된다.
  • ② 검색할 데이터가 정렬되어 있어야 한다.
  • ③ 피보나치 수열에 따라 다음에 비교할 대상을 선정하여 검색한다.
  • ④ 비교횟수를 거듭할 때마다 검색 대상이 되는 데이터의 수가 절반으로 줄어든다.
정답 및 해설 보기

정답 ③

이진 검색은 정렬된 데이터의 중간값과 비교해 탐색 범위를 절반씩 줄인다. ③'피보나치 수열로 비교 대상 선정'은 피보나치 검색 설명이라 틀렸다. 탐색 효율 우수(①), 정렬 필요(②), 매 비교마다 절반(④)은 옳다.

💡 이진 검색 = 중간값 비교 · 피보나치 검색 = 피보나치 수열 기반.

문 039. 소프트웨어 품질 특성을 정의한 ISO/IEC 9126의 6가지 품질 특성에 해당하지 않는 것은?

  • ① 기능성(Functionality)
  • ② 신뢰성(Reliability)
  • ③ 사용성(Usability)
  • ④ 경제성(Economics)
정답 및 해설 보기

정답 ④

ISO/IEC 9126의 6대 품질 특성은 기능성·신뢰성·사용성·효율성·유지보수성·이식성이다. 경제성은 여기에 포함되지 않으므로 ④가 답이다.

ISO/IEC 9126 6대 품질 특성
기능성 · 신뢰성 · 사용성 · 효율성 · 유지보수성 · 이식성

🔑 암기 — 9126 = 기·신·사·효·유·이(경제성 ✗).

문 040. 소프트웨어 형상관리(Configuration management)에 관한 설명으로 틀린 것은?

  • ① 소프트웨어에서 일어나는 수정이나 변경을 알아내고 제어하는 것을 의미한다.
  • ② 소프트웨어 개발의 전체 비용을 줄이고, 개발 과정의 여러 방해 요인이 최소화되도록 보증하는 것을 목적으로 한다.
  • ③ 형상관리를 위하여 구성된 팀을 "chief programmer team"이라고 한다.
  • ④ 형상관리의 기능 중 하나는 버전 제어 기술이다.
정답 및 해설 보기

정답 ③

형상관리를 위한 팀은 CCB(Configuration Control Board, 형상통제위원회)라 ③'chief programmer team'이 틀렸다(수석 프로그래머 팀은 개발 조직 형태). 변경 제어(①)·비용 절감·방해 최소화(②)·버전 제어(④)는 옳다.

🔑 암기 — 형상관리 팀 = CCB(형상통제위원회).


Part Ⅲ 데이터베이스 구축 (문 041~060)

문 041. 관계 데이터 모델에서 릴레이션(relation)에 관한 설명으로 옳은 것은?

  • ① 릴레이션의 각 행을 스키마(schema)라 하며, 예로 도서 릴레이션을 구성하는 스키마에는 도서번호, 도서명, 저자, 가격 등이 있다.
  • ② 릴레이션의 각 열을 튜플(tuple)이라 하며, 하나의 튜플은 각 속성에서 정의된 값을 이용하여 구성된다.
  • ③ 도메인(domain)은 하나의 속성이 가질 수 있는 같은 타입의 모든 값의 집합으로 각 속성의 도메인은 원자값을 갖는다.
  • ④ 속성(attribute)은 한 개의 릴레이션의 논리적인 구조를 정의한 것으로 릴레이션의 이름과 릴레이션에 포함된 속성들의 집합을 의미한다.
정답 및 해설 보기

정답 ③

③'도메인은 한 속성이 가질 수 있는 같은 타입의 모든 값의 집합'이 옳다(각 도메인은 원자값을 갖는다).

보기 오류
릴레이션의 =튜플, 스키마는 구조 정의(역할 뒤바뀜)
릴레이션의 =속성, 튜플은 행(역할 뒤바뀜)
논리적 구조 정의=스키마(속성과 혼동)

🔑 암기 — 행=튜플 · 열=속성 · 값의 집합=도메인 · 구조=스키마.

문 042. 릴레이션 R의 모든 결정자(Determinant)가 후보키이면 그 릴레이션 R은 어떤 정규형에 속하는가?

  • ① 제 1 정규형
  • ② 제 2 정규형
  • ③ 보이스/코드 정규형
  • ④ 제 4 정규형
정답 및 해설 보기

정답 ③

릴레이션의 모든 결정자(Determinant)가 후보키이면 보이스/코드 정규형(BCNF)에 속한다. 이것이 BCNF의 정의다.

🔑 암기 — 모든 결정자 = 후보키 → BCNF.

문 043. 관계대수의 순수 관계 연산자가 아닌 것은?

  • ① Select
  • ② Cartesian Product
  • ③ Division
  • ④ Project
정답 및 해설 보기

정답 ②

Cartesian Product(교차곱)일반 집합 연산자다. 순수 관계 연산자는 Select(σ)·Project(π)·Join(⋈)·Division(÷) 4가지다.

🔑 암기 — 순수 관계 = Select·Project·Join·Division.

문 044. 객체 지향 기법에서 하나 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현한 것은?

  • ① 메시지
  • ② 클래스
  • ③ 추상화
  • ④ 메소드
정답 및 해설 보기

정답 ②

유사한 객체들을 묶어 공통된 특성을 표현한 것은 클래스(Class)다. 메시지=객체 간 통신, 추상화=공통 성질 추출, 메소드=객체의 함수다.

💡 클래스 = 유사 객체들의 공통 특성을 정의한 틀.

문 045. 데이터베이스에서 병행제어의 목적으로 틀린 것은?

  • ① 시스템 활용도 최대화
  • ② 사용자에 대한 응답시간 최소화
  • ③ 데이터베이스 공유 최소화
  • ④ 데이터베이스 일관성 유지
정답 및 해설 보기

정답 ③

병행제어의 목적은 시스템 활용도 최대화(①)·응답시간 최소화(②)·데이터베이스 공유 최대화·일관성 유지(④)다. ③'공유 최소화'는 반대라 틀렸다.

💡 병행제어 = 공유 최대화 + 일관성 유지.

문 046. DML(Data Manipulation Language) 명령어가 아닌 것은?

  • ① INSERT
  • ② UPDATE
  • ③ ALTER
  • ④ DELETE
정답 및 해설 보기

정답 ③

ALTER는 테이블 구조를 변경하는 DDL(Data Definition Language)이라 DML이 아니다.

분류 명령어
DDL(정의) CREATE · ALTER · DROP · TRUNCATE
DML(조작) SELECT · INSERT · UPDATE · DELETE
DCL(제어) GRANT · REVOKE
TCL(트랜잭션) COMMIT · ROLLBACK · SAVEPOINT

🔑 암기 — ALTER=구조 변경=DDL · DML=데이터 조작.

문 047. 테이블 R1, R2에 대하여 다음 SQL문의 결과는?

SQL
(SELECT 학번 FROM R1)
INTERSECT
(SELECT 학번 FROM R2)

[R1] 테이블

학번 학점 수
20201111 15
20202222 20

[R2] 테이블

학번 과목번호
20202222 CS200
20203333 CS300
  • ① 학번 20202222, 학점 수 20, 과목번호 CS200 (1개 행)
  • ② 학번 컬럼만 포함, 학번 20202222 (1개 행)
  • ③ 학번 컬럼만 포함, 학번 20201111, 20202222, 20203333 (3개 행)
  • ④ 학번/학점 수/과목번호 컬럼 포함, 20201111(15, NULL), 20202222(20, CS200), 20203333(NULL, CS300) (3개 행)
정답 및 해설 보기

정답 ②

INTERSECT는 두 SELECT 결과의 교집합 — 양쪽 모두에 존재하는 행만 반환한다. R1.학번={20201111, 20202222}, R2.학번={20202222, 20203333}의 교집합은 {20202222} 1개 행이고, 컬럼은 SELECT 절의 학번만 나온다. 실제 실행으로도 20202222 한 행이 확인된다.

🔑 암기 — UNION=합집합 · INTERSECT=교집합 · MINUS(EXCEPT)=차집합.

문 048. 관계 데이터베이스의 조인(JOIN)에 대한 설명으로 옳지 않은 것은?

  • ① 내부 조인(INNER JOIN)은 두 테이블에서 조건이 일치하는 행만 반환한다.
  • ② 왼쪽 외부 조인(LEFT OUTER JOIN)은 왼쪽 테이블의 행은 모두 포함한다.
  • ③ 교차 조인(CROSS JOIN)의 결과 행 수는 두 테이블 행 수의 합과 같다.
  • ④ 자연 조인(NATURAL JOIN)은 이름이 같은 공통 속성을 기준으로 결합한다.
정답 및 해설 보기

정답 ③

교차 조인(CROSS JOIN)은 두 테이블의 카티션 곱이므로 결과 행 수는 두 테이블 행 수의 '합'이 아니라 '곱'이다. 따라서 ③이 틀렸다.

조인 결과
INNER 일치하는 행만
LEFT OUTER 왼쪽 테이블 전부 + 일치 행
CROSS 두 테이블 행 수의 곱(카티션)
NATURAL 공통 속성 기준 결합

🔑 암기 — CROSS JOIN = 행 수의 곱(카티션). 합 아님.

문 049. SQL과 관련한 설명으로 틀린 것은?

  • ① REVOKE 키워드를 사용하여 열 이름을 다시 부여할 수 있다.
  • ② 데이터 정의어는 기본 테이블, 뷰 테이블, 또는 인덱스 등을 생성, 변경, 제거하는데 사용되는 명령어이다.
  • ③ DISTINCT를 활용하여 중복 값을 제거할 수 있다.
  • ④ JOIN을 통해 여러 테이블의 레코드를 조합하여 표현할 수 있다.
정답 및 해설 보기

정답 ①

REVOKE는 부여된 권한을 회수하는 명령어이지 열 이름을 부여하지 않는다(이름 변경은 ALTER·AS 별칭). DDL의 생성·변경·제거(②), DISTINCT 중복 제거(③), JOIN 결합(④)은 옳다.

💡 REVOKE = 권한 회수(이름 변경 ✗).

문 050. 다음 SQL 문에서 ( ) 안에 들어갈 내용으로 옳은 것은?

SQL
UPDATE 인사급여 ( ) 호봉 = 15
WHERE 성명 = '홍길동';
  • ① SET
  • ② FROM
  • ③ INTO
  • ④ IN
정답 및 해설 보기

정답 ①

UPDATE 구문은 UPDATE 테이블 **SET** 열=값 WHERE 조건이다. FROM은 SELECT에서, INTO는 INSERT에서 쓴다.

🔑 암기 — UPDATE ~ SET ~ WHERE.

문 051. 테이블 두 개를 조인하여 뷰 V_1을 정의하고, V_1을 이용하여 뷰 V_2를 정의하였다. 다음 명령 수행 후 결과로 옳은 것은? DROP VIEW V_1 CASCADE;

  • ① V_1만 삭제된다.
  • ② V_2만 삭제된다.
  • ③ V_1과 V_2 모두 삭제된다.
  • ④ V_1과 V_2 모두 삭제되지 않는다.
정답 및 해설 보기

정답 ③

DROP VIEW V_1 CASCADE;는 V_1과 이를 참조해 만든 V_2까지 연쇄 삭제한다. CASCADE 옵션은 종속된 모든 객체를 함께 지운다.

💡 DROP CASCADE = 종속 객체 연쇄 삭제.

문 052. 데이터베이스 시스템에서 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL은?

  • ① 트리거(Trigger)
  • ② 무결성(Integrity)
  • ③ 잠금(Lock)
  • ④ 복귀(Rollback)
정답 및 해설 보기

정답 ①

INSERT·UPDATE·DELETE 등 이벤트 발생 시 자동으로 실행되는 절차형 SQL트리거(Trigger)다. 무결성=데이터 정확성, 잠금=동시성 제어, 롤백=취소 연산이다.

💡 트리거 = 이벤트 기반 자동 실행.

문 053. 정규화된 엔티티, 속성, 관계를 시스템의 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법은?

  • ① 정규화
  • ② 반정규화
  • ③ 집단화
  • ④ 머징
정답 및 해설 보기

정답 ②

정규화된 엔티티를 성능 향상·운영 단순화를 위해 중복·통합·분리하는 기법은 반정규화(Denormalization)다. 정규화의 역방향 과정이다.

💡 성능 위해 중복·통합·분리 = 반정규화.

문 054. 관계 데이터 모델의 무결성 제약 중 기본키 값의 속성 값이 널(Null) 값이 아닌 원자 값을 갖는 성질은?

  • ① 개체 무결성
  • ② 참조 무결성
  • ③ 도메인 무결성
  • ④ 튜플의 유일성
정답 및 해설 보기

정답 ①

기본키(PK)가 Null이 아닌 원자값을 가져야 한다는 제약은 개체 무결성이다. 참조 무결성=FK가 참조 테이블에 존재, 도메인 무결성=속성 값이 정의된 범위 내여야 하는 것이다.

🔑 암기 — PK ≠ Null(원자값) = 개체 무결성.

문 055. 아래 그림에서 트리의 차수(degree)를 구하면?

  • ① 2
  • ② 3
  • ③ 4
  • ④ 5
정답 및 해설 보기

정답 ②

트리의 차수(degree)는 각 노드의 자식 수 중 최댓값이다. B의 자식이 D·E·F로 3개이고 이것이 최대이므로 차수는 3이다(C·E의 자식 2개는 3보다 작다).

💡 트리 차수 = 노드별 자식 수의 최댓값.

문 056. SQL의 분류 중 DDL에 해당하지 않는 것은?

  • ① UPDATE
  • ② ALTER
  • ③ DROP
  • ④ CREATE
정답 및 해설 보기

정답 ①

UPDATEDML(데이터 조작어)이다. DDL은 CREATE·ALTER·DROP·TRUNCATE다.

💡 UPDATE = DML(DDL ✗).

문 057. 다음 두 릴레이션 R1과 R2의 카티션 프로덕트(Cartesian Product) 수행 결과는?

  • R1 (학년): 1, 2, 3

  • R2 (학과): 컴퓨터, 국문, 수학

  • ① 학년-학과: (1,컴퓨터), (2,국문), (3,수학)

  • ② 학년-학과: (2,컴퓨터), (2,국문), (2,수학)

  • ③ 학년-학과: (3,컴퓨터), (3,국문), (3,수학)

  • ④ 학년-학과: (1,컴퓨터), (1,국문), (1,수학), (2,컴퓨터), (2,국문), (2,수학), (3,컴퓨터), (3,국문), (3,수학)

정답 및 해설 보기

정답 ④

카티션 프로덕트(Cartesian Product · ×)는 두 릴레이션의 모든 튜플 조합 — |R1| × |R2| = 3 × 3 = 9개 튜플이다.

학년 학과
1 컴퓨터 / 국문 / 수학
2 컴퓨터 / 국문 / 수학
3 컴퓨터 / 국문 / 수학

①·②·③은 일부 조합만이라 정의 미충족이다. 실제로도 9행이 나온다.

💡 × = 모든 쌍(조인 조건 없는 곱집합).

문 058. 사용자 X1에게 department 테이블에 대한 검색 연산을 회수하는 명령은?

  • ① delete select on department to X1;
  • ② remove select on department from X1;
  • ③ revoke select on department from X1;
  • ④ grant select on department from X1;
정답 및 해설 보기

정답 ③

권한 회수 명령은 **REVOKE** 권한 **ON** 테이블 **FROM** 사용자다. ③ revoke select on department from X1;이 올바른 구문이다.

🔑 암기 — 권한 회수 = REVOKE … ON … FROM.

문 059. 다음 [조건]에 부합하는 SQL문을 작성하고자 할 때, [SQL문]의 빈칸에 들어갈 내용으로 옳은 것은? (단, ‘팀코드’ 및 ‘이름’은 속성이며, ‘직원’은 테이블이다.)

[조건] 이름이 ‘정도일’인 팀원이 소속된 팀코드를 이용하여 해당 팀에 소속된 팀원들의 이름을 출력하는 SQL문 작성

[SQL문]

SQL
SELECT 이름
FROM 직원
WHERE 팀코드=( );
  • ① WHERE 이름=‘정도일’
  • ② SELECT 팀코드 FROM 이름 WHERE 직원=‘정도일’
  • ③ WHERE 직원=‘정도일’
  • ④ SELECT 팀코드 FROM 직원 WHERE 이름=‘정도일’
정답 및 해설 보기

정답 ④

서브쿼리로 '정도일'이 소속된 팀코드를 먼저 조회한 뒤, 그 팀코드에 해당하는 팀원들의 이름을 출력한다. 올바른 서브쿼리는 ④ SELECT 팀코드 FROM 직원 WHERE 이름='정도일'이다. ②는 FROM 뒤에 속성(이름)이 와서 틀렸다.

💡 서브쿼리 = SELECT 컬럼 FROM 테이블 WHERE 조건.

문 060. 분산 데이터베이스 시스템(Distributed Database System)에 대한 설명으로 틀린 것은?

  • ① 분산 데이터베이스는 논리적으로는 하나의 시스템에 속하지만 물리적으로는 여러 개의 컴퓨터 사이트에 분산되어 있다.
  • ② 위치 투명성, 중복 투명성, 병행 투명성, 장애 투명성을 목표로 한다.
  • ③ 데이터베이스의 설계가 비교적 어렵고, 개발 비용과 처리 비용이 증가한다는 단점이 있다.
  • ④ 분산 데이터베이스 시스템의 주요 구성 요소는 분산 처리기, P2P 시스템, 단일 데이터베이스 등이 있다.
정답 및 해설 보기

정답 ④

분산 DB의 주요 구성 요소는 분산 처리기·분산 데이터베이스·통신 네트워크라 ④'P2P 시스템·단일 데이터베이스'가 틀렸다. 논리적 단일·물리적 분산(①), 4대 투명성(②), 설계·비용 부담(③)은 옳다.

💡 분산 DB = 분산 처리기 · 분산 DB · 통신망.


Part Ⅳ 프로그래밍 언어 활용 (문 061~080)

문 061. 다음 중 라우팅 프로토콜과 그 설명의 연결이 옳지 않은 것은?

  • ① RIP — 거리 벡터 방식, 홉(Hop) 수(최대 15)로 경로 선택
  • ② OSPF — 링크 상태 방식, 대규모 망에 적합
  • ③ BGP — 자율 시스템(AS) 간 라우팅에 사용
  • ④ ARP — 최단 경로를 계산하는 라우팅 프로토콜
정답 및 해설 보기

정답 ④

ARP는 IP 주소(논리 주소)를 MAC 주소(물리 주소)로 변환하는 프로토콜이지 라우팅(경로 선택) 프로토콜이 아니다. 대표 라우팅 프로토콜은 RIP·OSPF·BGP다.

프로토콜 방식
RIP 거리 벡터(홉 ≤ 15)
OSPF 링크 상태(대규모)
BGP AS 간 라우팅

🔑 암기 — 라우팅 = RIP·OSPF·BGP. ARP는 주소 변환(IP→MAC).

문 062. IPv6에 대한 설명으로 틀린 것은?

  • ① 128비트의 주소 공간을 제공한다.
  • ② 인증 및 보안 기능을 포함하고 있다.
  • ③ 패킷 크기가 64Kbyte로 고정되어 있다.
  • ④ IPv6 확장 헤더를 통해 네트워크 기능 확장이 용이하다.
정답 및 해설 보기

정답 ③

IPv6 패킷 크기는 64KB로 고정된 것이 아니라 확장 헤더로 가변적이라 ③이 틀렸다. 128비트 주소(①), 인증·보안 내장(②), 확장 헤더로 기능 확장 용이(④)는 옳다.

💡 IPv6 = 128비트 · 가변 패킷 · 보안 내장.

문 063. 다음 중 HRN에 대한 설명으로 옳지 않은 것은?

  • ① 대기 시간과 서비스 시간을 이용하는 방법이다.
  • ② 대기 시간이 긴 프로세스일 경우 우선순위가 높다.
  • ③ 우선순위 계산식 값이 낮을수록 우선순위가 높다.
  • ④ SJF 기법을 보완하기 위한 스케쥴링 방법이다.
정답 및 해설 보기

정답 ③

HRN 우선순위 = (대기시간 + 서비스시간) ÷ 서비스시간으로, 계산값이 높을수록 우선순위가 높다 — ③'낮을수록 높다'가 틀렸다. 대기·서비스 시간 이용(①), 대기 길수록 우선(②), SJF 보완(④)은 옳다.

🔑 암기 — HRN = (대기+서비스) ÷ 서비스, 값 높을수록 우선.

문 064. 개발에 필요한 환경 구축과 관련하여 하드웨어 환경과 관련이 없는 것은?

  • ① Eclipse
  • ② Oracle DB
  • ③ WAS
  • ④ 웹 서버
정답 및 해설 보기

정답 ①

Eclipse는 통합 개발 환경(IDE)인 소프트웨어 개발 도구다. Oracle DB(데이터베이스 서버)·WAS(애플리케이션 서버)·웹 서버는 모두 서버 장비인 하드웨어 환경과 관련된다.

💡 Eclipse = SW 개발 도구(IDE) ≠ 하드웨어 환경.

문 065. 다음은 파이썬으로 만들어진 반복문 코드이다. 이 코드의 결과는?

Python
while(True) :
    print('A')
    print('B')
    break
    print('C')
print('D')
  • ① A, B 출력이 반복된다.
  • ② A, B, C 까지만 출력된다.
  • ③ A, B, C 출력이 반복된다.
  • ④ A, B, D 까지만 출력된다.
정답 및 해설 보기

정답 ④

while(True) 안에서 A·B를 출력한 뒤 break로 루프를 즉시 탈출한다. C는 break 다음 줄이라 실행되지 않고, 루프 바깥의 D가 출력된다. 이 코드의 출력은 A, B, D다.

💡 break 이후 같은 반복 안의 코드 = 실행 안 됨.

문 066. 다음 C언어 프로그램의 결과로 옳은 것은?

c
#include <stdio.h>
main( ) {
    int a[10];
    a[0] = 0;
    a[1] = 1;
    for (int i = 0; i < 8; i++)
         a[i + 2] = a[i + 1] + a[i];
    printf("%d", a[9]);
}
  • ① 8
  • ② 13
  • ③ 21
  • ④ 34
정답 및 해설 보기

정답 ④

a[0]=0, a[1]=1이고 a[i+2]=a[i+1]+a[i] 규칙으로 만드는 피보나치 수열이다. a[2]=1, a[3]=2, a[4]=3, a[5]=5, a[6]=8, a[7]=13, a[8]=21, a[9]=34다. 이 코드의 출력은 34다.

💡 피보나치: 0,1,1,2,3,5,8,13,21,34.

문 067. 다음 Python 프로그램이 실행되었을 때, 실행 결과는?

Python
strA = 'Information Technology'
strL = list()
for i in range(0, len(strA), 2):
    strL.append(strA[i])
for j in range(len(strL) - 1, 0, -2):
    print(strL[j], end='')
  • ① gnTir
  • ② riTng
  • ③ ot hl
  • ④ lh to
정답 및 해설 보기

정답 ①

짝수 인덱스(0,2,4,…) 문자를 모으면 strL=[I,f,r,a,i,n,T,c,n,l,g]다. 인덱스 10,8,6,4,2를 −2 스텝으로 출력하면 g,n,T,i,r → gnTir이다. 이 코드의 출력은 gnTir다.

💡 짝수 추출 후 역순 −2 스텝 출력.

문 068. IPv6의 주소체계로 거리가 먼 것은?

  • ① Unicast
  • ② Anycast
  • ③ Broadcast
  • ④ Multicast
정답 및 해설 보기

정답 ③

IPv6 주소 체계는 Unicast(1:1)·Anycast(1:최근접 하나)·Multicast(1:그룹)다. ③Broadcast는 IPv6에 없다 — 브로드캐스트 기능은 멀티캐스트로 대체됐다.

💡 IPv6 주소 = Unicast·Anycast·Multicast(Broadcast ✗).

문 069. C언어에서 정수 자료형으로 옳은 것은?

  • ① int
  • ② float
  • ③ char
  • ④ double
정답 및 해설 보기

정답 ①

C언어의 정수 자료형은 ①int(short·long 포함)다. float과 double은 실수(부동소수점) 자료형, char는 문자 자료형이다.

💡 정수=int·short·long / 실수=float·double / 문자=char.

문 070. 네트워크 장비에 대한 설명으로 옳지 않은 것은?

  • ① 브라우터는 전송되는 신호가 전송 선로의 특성 및 외부 충격 등의 요인으로 인해 원래의 형태와 다르게 왜곡되거나 약해질 경우 원래의 신호 형태로 재생하여 다시 전송하는 역할을 수행한다.
  • ② 브리지는 LAN과 LAN을 연결하거나 LAN 안에서의 컴퓨터 그룹을 연결하는 기능을 수행하며, 데이터 링크 계층 중 MAC 계층에서 사용된다.
  • ③ 스위치는 LAN과 LAN을 연결하여 훨씬 더 큰 LAN을 만드는 장치로, OSI 7계층의 2계층에서 사용된다.
  • ④ 라우터는 LAN과 LAN의 연결 기능에 데이터 전송의 최적 경로를 선택할 수 있는 기능이 추가된 것으로, 서로 다른 LAN이나 LAN과 WAN의 연결도 수행하고, OSI 7계층의 네트워크 계층에서 동작한다.
정답 및 해설 보기

정답 ①

①의 '신호를 원래 형태로 재생·재전송'은 리피터(Repeater)의 역할이다. 브라우터(Brouter)는 브리지+라우터 결합 장비다. 브리지(②·2계층 MAC), 스위치(③·2계층), 라우터(④·3계층 네트워크) 설명은 옳다.

💡 신호 재생·재전송 = 리피터(브라우터 ✗).

문 071. 다음 중 연산자의 종류가 다른 하나는?

  • ① %
  • ② /
  • ③ -
  • ④ ++
정답 및 해설 보기

정답 ④

①%·②/·③−는 모두 산술(이항) 연산자이고, ④++는 값을 1 증가시키는 증감(단항) 연산자라 종류가 다르다.

💡 산술(이항) = % / − · 증감(단항) = ++ −−.

문 072. 다음 C 언어 프로그램이 실행되었을 때의 결과는?

c
#include <stdio.h>
int main(void) {
   int a = 3, b = 4, c = 2;
   int r1, r2, r3;
   r1 = b <= 4 || c == 2;
   r2 = (a > 0) && (b < 5);
   r3 = !c;
   printf("%d", r1+r2+r3);
   return 0;
}
  • ① 0
  • ② 1
  • ③ 2
  • ④ 3
정답 및 해설 보기

정답 ③

r1 = (4<=4) || (2==2) = 1, r2 = (3>0) && (4<5) = 1, r3 = !2 = 0(0이 아닌 값의 NOT은 0)이다. r1+r2+r3 = 1+1+0 = 2로, 이 코드의 출력은 2다.

💡 C 논리: !0=1 · !(0이 아닌 값)=0.

문 073. 교착 상태 발생의 필요 충분 조건이 아닌 것은?

  • ① 상호 배제(Mutual Exclusion)
  • ② 점유와 대기(Hold and Wait)
  • ③ 환형 대기(Circular Wait)
  • ④ 선점(Preemption)
정답 및 해설 보기

정답 ④

교착 상태의 필요충분 4조건은 상호 배제(①)·점유와 대기(②)·비선점(Non-preemption)·환형 대기(③)다. ④선점(Preemption)은 교착 조건이 아니라 해결 기법이다.

🔑 암기 — 교착 4조건 = 상호배제·점유대기·비선점·환형대기.

문 074. 흐름 제어(Flow Control)에 대한 설명으로 옳지 않은 것은?

  • ① 정지-대기는 수신 측의 확인 신호(ACK)를 받은 후에 다음 패킷을 전송하는 방식이다.
  • ② 확인 신호를 이용하여 송신 데이터의 양을 조절하는 방식은 슬라이딩 윈도우이다.
  • ③ 확인 신호 없이 보낼 수 있는 패킷의 최대치가 윈도우 크기이다.
  • ④ 이전에 송신한 패킷에 대한 부정 수신 응답(NAK)이 전달된 경우 윈도우 크기가 증가한다.
정답 및 해설 보기

정답 ④

NAK(부정 수신 응답)가 오면 윈도우 크기가 증가하지 않고 재전송이 일어나므로 ④가 틀렸다. 정지-대기 ACK 후 전송(①), 슬라이딩 윈도우(②), 윈도우 크기=무응답 전송 최대치(③)는 옳다.

💡 NAK = 재전송(윈도우 크기 증가 ✗).

문 075. UNIX에서 새로운 프로세스를 생성하는 명령어는?

  • ① ls
  • ② cat
  • ③ fork
  • ④ chmod
정답 및 해설 보기

정답 ③

UNIX에서 새로운 프로세스를 생성하는 시스템 호출은 ③fork()다. ls=파일 목록, cat=내용 출력, chmod=권한 변경이다.

💡 프로세스 생성 = fork.

문 076. 다음 셸 스크립트의 의미로 옳은 것은?

Bash
until who | grep wow
do
  sleep 5
done
  • ① wow 사용자가 로그인한 경우에만 반복문을 수행한다.
  • ② wow 사용자가 로그인할 때까지 반복문을 수행한다.
  • ③ wow 문자열을 복사한다.
  • ④ wow 사용자에 대한 정보를 무한 반복하여 출력한다.
정답 및 해설 보기

정답 ②

UNIX until 문은 조건이 거짓인 동안 반복하고 who | grep wow성공(wow 발견)하면 종료하므로, ②'wow 사용자가 로그인할 때까지 반복'이 맞다. while과 정반대다.

💡 until = 조건이 참이 될 때까지 반복(while의 반대).

문 077. HTTP의 잘 알려진(Well Known) 포트 번호는?

  • ① 23
  • ② 80
  • ③ 53
  • ④ 443
정답 및 해설 보기

정답 ②

HTTP의 Well Known 포트 번호는 ②80이다. 23=Telnet, 53=DNS, 443=HTTPS다.

🔑 암기 — HTTP=80 · HTTPS=443 · Telnet=23 · DNS=53.

문 078. 다음 중 C 언어에서 우선 순위가 가장 높은 것은?

  • ① 비트 연산자
  • ② 시프트 연산자
  • ③ 관계 연산자
  • ④ 산술 연산자
정답 및 해설 보기

정답 ④

C 언어 연산자 우선순위는 산술 > 시프트 > 관계 > 비트 순이라 ④산술 연산자(+ − * / %)가 가장 높다.

🔑 암기 — 우선순위: 산술 > 시프트 > 관계 > 비트.

문 079. 다음은 어떤 프로그램 구조를 나타낸다. 모듈 F에서의 Fan-In과 Fan-Out의 수는 얼마인가?

  • ① Fan-In : 2, Fan-Out : 3
  • ② Fan-In : 3, Fan-Out : 2
  • ③ Fan-In : 1, Fan-Out : 2
  • ④ Fan-In : 2, Fan-Out : 1
정답 및 해설 보기

정답 ②

모듈 F는 B·C·D 세 모듈에서 호출되므로 Fan-In=3, G·H 두 모듈을 호출하므로 Fan-Out=2다. Fan-In=해당 모듈을 호출하는 상위 모듈 수, Fan-Out=호출하는 하위 모듈 수다.

💡 Fan-In=호출받는 수(3) · Fan-Out=호출하는 수(2).

문 080. 다음 JAVA 프로그램이 실행되었을 때, 실행 결과는?

Java
public class Ape {
    static void rs(char a[]) {
        for(int i = 0; i < a.length; i++)
            if(a[i] == 'B')
                a[i] = 'C';
            else if(i == a.length - 1)
                a[i] = a[i-1];
            else a[i] = a[i+1];
    }
    static void pca(char a[]) {
        for(int i = 0; i < a.length; i ++)
            System.out.print(a[i]);
        System.out.println();
    }
    public static void main(String[] args) {
        char c[] = {'A','B','D','D','A','B','C'};
        rs(c);
        pca(c);
    }
}
  • ① BCDABCA
  • ② BCDABCC
  • ③ CDDACCC
  • ④ CDDACCA
정답 및 해설 보기

정답 ②

char c[] = {'A','B','D','D','A','B','C'}에 rs(c)를 적용하면:

  • i=0: 'A'≠'B', 끝 아님 → a[0]=a[1]='B'
  • i=1: 'B'='B' → a[1]='C'
  • i=2: 'D'≠'B', 끝 아님 → a[2]=a[3]='D'
  • i=3: 'D'≠'B', 끝 아님 → a[3]=a[4]='A'
  • i=4: 'A'≠'B', 끝 아님 → a[4]=a[5]='B'
  • i=5: 'B'='B' → a[5]='C'
  • i=6: 'C'≠'B', 마지막 → a[6]=a[5]='C'

결과는 BCDABCC로, 이 프로그램의 출력은 BCDABCC다.

💡 'B'면 'C'로 교체 · 마지막이면 이전값 복사 · 나머지는 다음값 복사.


Part Ⅴ 정보시스템 구축관리 (문 081~100)

문 081. 다음 괄호에 공통으로 들어갈 용어는 무엇인가?

( )는 일련의 데이터를 정의하고 설명해 주는 데이터로, 컴퓨터에서는 데이터 사전의 내용, 스키마 등을 의미한다. ( )는 여러 용도로 사용되나 주로 빠르게 검색하거나 내용을 간략하고 체계적으로 하기 위해 많이 사용된다.

  • ① View
  • ② Broad Data
  • ③ Big Data
  • ④ Meta Data
정답 및 해설 보기

정답 ④

데이터를 정의·설명하는 데이터에 대한 데이터는 ④메타데이터(Meta Data)다. 데이터 사전의 내용·스키마 등을 의미하고 빠른 검색과 체계적 관리를 위해 쓴다.

💡 데이터에 대한 데이터 = Meta Data.

문 082. 다음에서 설명하는 IT 기술은?

  • 네트워크를 제어부, 데이터 전달부로 분리하여 네트워크 관리자가 보다 효율적으로 네트워크를 제어, 관리할 수 있는 기술
  • 기존의 라우터, 스위치 등과 같이 하드웨어에 의존하는 네트워크 체계에서 안정성, 속도, 보안 등을 소프트웨어로 제어, 관리하기 위해 개발됨
  • 네트워크 장비의 펌웨어 업그레이드를 통해 사용자의 직접적인 데이터 전송 경로 관리가 가능하고, 기존 네트워크에는 영향을 주지 않으면서 특정 서비스의 전송 경로 수정을 통하여 인터넷상에서 발생하는 문제를 처리할 수 있음
  • ① SDN(Software Defined Networking)
  • ② NFS(Network File System)
  • ③ Network Mapper
  • ④ AOE Network
정답 및 해설 보기

정답 ①

SDN(Software Defined Networking)은 네트워크를 제어부(Control Plane)데이터 전달부(Data Plane)로 분리해 소프트웨어로 제어·관리하는 기술이다. 하드웨어 의존을 줄이고 유연한 네트워크 운영이 가능하다. NFS=네트워크 파일 시스템, Network Mapper=포트 스캐너(nmap), AOE Network=작업 네트워크다.

💡 제어부/전달부 분리 + SW 제어 = SDN.

문 083. DoS(Denial of Service) 공격과 관련한 내용으로 틀린 것은?

  • ① Ping of Death 공격은 정상 크기보다 큰 ICMP 패킷을 작은 조각(Fragment)으로 쪼개어 공격 대상이 조각화 된 패킷을 처리하게 만드는 공격 방법이다.
  • ② Smurf 공격은 멀티캐스트(Multicast)를 활용하여 공격 대상이 네트워크의 임의의 시스템에 패킷을 보내게 만드는 공격이다.
  • ③ SYN Flooding은 존재하지 않는 클라이언트가 서버별로 한정된 접속 가능 공간에 접속한 것처럼 속여 다른 사용자가 서비스를 이용하지 못하게 하는 것이다.
  • ④ Land 공격은 패킷 전송 시 출발지 IP주소와 목적지 IP주소 값을 똑같이 만들어서 공격 대상에게 보내는 공격 방법이다.
정답 및 해설 보기

정답 ②

Smurf 공격브로드캐스트(Broadcast)를 이용해 위조된 ICMP Echo를 다량 유발하므로 ②'멀티캐스트 활용'이 틀렸다. Ping of Death(①), SYN Flooding(③), Land 공격(④) 설명은 옳다.

💡 Smurf = 브로드캐스트(멀티캐스트 ✗).

문 084. CMMI의 단계가 아닌 것은?

  • ① 초기
  • ② 관리
  • ③ 정의
  • ④ 반복
정답 및 해설 보기

정답 ④

CMMI 성숙도 5단계는 초기 → 관리 → 정의 → 정량적 관리 → 최적화다. ④반복(Repeatable)CMM의 2단계 명칭으로, CMMI에서는 '관리'로 바뀌었다.

🔑 암기 — CMMI = 초기·관리·정의·정량·최적(반복은 CMM).

문 085. 테일러링(Tailoring) 개발 방법론의 내부 기준에 해당하지 않는 것은?

  • ① 납기/비용
  • ② 기술 환경
  • ③ 구성원 능력
  • ④ 국제 표준 품질 기준
정답 및 해설 보기

정답 ④

테일러링 내부 기준은 납기/비용(①)·기술 환경(②)·구성원 능력(③)이다. ④국제 표준 품질 기준은 조직 외부에서 요구하는 외부 기준이다.

💡 내부=납기·기술·구성원 / 외부=국제 표준·법규.

문 086. 컴퓨터 사용자의 키보드 움직임을 탐지해 ID, 패스워드 등 개인의 중요한 정보를 몰래 빼가는 해킹 공격은?

  • ① Key Logger Attack
  • ② Worm
  • ③ Rollback
  • ④ Zombie Worm
정답 및 해설 보기

정답 ①

키보드 입력을 탐지해 ID·패스워드를 탈취하는 공격은 ①키로거(Key Logger) 공격이다. Worm=자기 복제 악성코드, Rollback=복구 기법, Zombie Worm=좀비PC 관련이다.

💡 키로거 = 키보드 입력 도청.

문 087. 다음 내용이 설명하는 접근 제어 모델은?

  • 군대의 보안 레벨처럼 정보의 기밀성에 따라 상하 관계가 구분된 정보를 보호하기 위해 사용
  • 자신의 권한보다 낮은 보안 레벨 권한을 가진 경우에는 높은 보안 레벨의 문서를 읽을 수 없고 자신의 권한보다 낮은 수준의 문서만 읽을 수 있다.
  • 자신의 권한보다 높은 보안 레벨의 문서에는 쓰기가 가능하지만 보안 레벨이 낮은 문서의 쓰기 권한은 제한된다.
  • ① Clark-Wilson Integrity Model
  • ② PDCA Model
  • ③ Bell-Lapadula Model
  • ④ Chinese Wall Model
정답 및 해설 보기

정답 ③

벨-라파듈라(Bell-LaPadula) 모델은 기밀성 중심 접근 제어로 No Read Up(상위 등급 읽기 금지)·No Write Down(하위 등급 쓰기 금지)을 적용한다. Clark-Wilson=무결성 모델, Chinese Wall=이해 충돌 방지 모델이다.

💡 기밀성 + 읽기↑금지 + 쓰기↓금지 = Bell-LaPadula.

문 088. 스트림 암호화 방식의 설명으로 옳지 않은 것은?

  • ① 비트/바이트/단어들을 순차적으로 암호화한다.
  • ② 해쉬 함수를 이용한 해쉬 암호화 방식을 사용한다.
  • ③ RC4는 스트림 암호화 방식에 해당한다.
  • ④ 대칭키 암호화 방식이다.
정답 및 해설 보기

정답 ②

스트림 암호는 키 스트림으로 비트 단위 XOR을 수행하며 ②'해시 함수 암호화 방식'을 쓰지 않는다(해시는 단방향 함수라 암호화가 아님). 순차 암호화(①), RC4(③), 대칭키 방식(④)은 옳다.

💡 스트림 암호 = 키 스트림 + XOR(해시 ✗).

문 089. Python을 기반으로 컴포넌트의 재사용과 플러그인화를 강조하여 신속한 개발이 가능하도록 지원하는 프레임워크는?

  • ① Spring
  • ② Node.js
  • ③ Django
  • ④ Codeigniter
정답 및 해설 보기

정답 ③

Python 기반으로 컴포넌트 재사용·플러그인화를 강조하는 웹 프레임워크는 ③Django다. Spring=Java, Node.js=JavaScript, Codeigniter=PHP다.

💡 Python 웹 프레임워크 = Django.

문 090. 프로젝트에 내재된 위험 요소를 인식하고 그 영향을 분석하여 이를 관리하는 활동으로서, 프로젝트를 성공시키기 위하여 위험 요소를 사전에 예측, 대비하는 모든 기술과 활동을 포함하는 것은?

  • ① Critical Path Method
  • ② Risk Analysis
  • ③ Work Breakdown Structure
  • ④ Waterfall Model
정답 및 해설 보기

정답 ②

위험 요소를 인식·영향 분석하고 사전에 예측·대비하는 활동은 ②위험 분석(Risk Analysis)이다. CPM=일정 관리, WBS=작업 분해, Waterfall=개발 모델이다.

💡 위험 인식·분석·대비 = Risk Analysis.

문 091. 침입 탐지 시스템(IDS)에 대한 설명으로 옳지 않은 것은?

  • ① 오용 탐지(Misuse)는 알려진 공격 패턴(시그니처)과 비교해 탐지한다.
  • ② 이상 탐지(Anomaly)는 정상 행위 기준을 벗어난 활동을 탐지한다.
  • ③ 오용 탐지는 알려지지 않은 새로운 공격(제로데이) 탐지에 강하다.
  • ④ 설치 위치에 따라 네트워크 기반(NIDS)과 호스트 기반(HIDS)으로 나뉜다.
정답 및 해설 보기

정답 ③

새로운(알려지지 않은) 공격 탐지에 강한 것은 이상 탐지(Anomaly)다. 오용 탐지는 이미 알려진 시그니처와 비교하므로 신종 공격에는 약하다. 따라서 ③이 틀렸다.

탐지 방식 특징
오용 탐지 알려진 시그니처 비교(신종에 약함)
이상 탐지 정상 이탈 감지(신종에 강함)

🔑 암기 — 오용=알려진 패턴, 이상=정상 이탈(신종 탐지).

문 092. 시스템의 사용자가 로그인하여 명령을 내리는 과정에 대한 시스템의 동작 중 다음 설명에 해당하는 것은?

  • 자신의 신원(Identity)을 시스템에 증명하는 과정이다.
  • 아이디와 패스워드를 입력하는 과정이 가장 일반적인 예시라고 볼 수 있다.
  • ① Aging
  • ② Accounting
  • ③ Authorization
  • ④ Authentication
정답 및 해설 보기

정답 ④

자신의 신원(Identity)을 시스템에 증명하는 과정은 ④인증(Authentication)이다. Aging=프로세스 기아 방지, Accounting=자원 사용 기록, Authorization=권한 부여다.

💡 ID·PW로 신원 증명 = Authentication.

문 093. 다음 설명의 정보보안 침해 공격 관련 용어는?

인터넷 사용자의 컴퓨터에 침입해 내부 문서 파일 등을 암호화해 사용자가 열지 못하게 하는 공격으로, 암호 해독용 프로그램의 전달을 조건으로 사용자에게 돈을 요구하기도 한다.

  • ① Smishing
  • ② C-brain
  • ③ Trojan Horse
  • ④ Ransomware
정답 및 해설 보기

정답 ④

파일을 암호화해 인질로 잡고 복호화 대가로 금전(주로 암호화폐)을 요구하는 공격은 ④랜섬웨어(Ransomware)다. Smishing=문자 피싱, C-brain=최초의 PC 바이러스, Trojan Horse=정상 위장 악성코드다.

💡 파일 암호화 + 돈 요구 = Ransomware(몸값).

문 094. DDoS 공격과 연관이 있는 공격 방법은?

  • ① Secure shell
  • ② Tribe Flood Network
  • ③ Nimda
  • ④ Deadlock
정답 및 해설 보기

정답 ②

DDoS 공격과 연관된 공격 도구는 ②Tribe Flood Network(TFN)다. Secure Shell=SSH 원격 접속, Nimda=웜 바이러스, Deadlock=교착 상태(보안 공격 아님)다.

💡 DDoS 도구 = TFN.

문 095. LOC 기법에 의하여 예측된 총 라인수가 36,000라인, 개발에 참여할 프로그래머가 6명, 프로그래머들의 평균 생산성이 월간 300라인일 때 개발에 소요되는 기간은?

  • ① 5개월
  • ② 10개월
  • ③ 15개월
  • ④ 20개월
정답 및 해설 보기

정답 ④

개발 기간 = 총 라인 수 ÷ (프로그래머 수 × 월간 생산성) = 36,000 ÷ (6 × 300) = 36,000 ÷ 1,800 = 20개월이다.

🔑 암기 — 기간 = 총 라인 ÷ (인원 × 생산성).

문 096. 다음 설명에 해당하는 클라우드 컴퓨팅 서비스 모델은?

  • 응용 프로그램을 개발·실행할 수 있는 플랫폼(개발 도구, 실행 환경 등)을 제공한다.
  • 사용자는 인프라를 직접 관리하지 않고 애플리케이션 개발에만 집중한다.
  • ① IaaS
  • ② PaaS
  • ③ SaaS
  • ④ DaaS
정답 및 해설 보기

정답 ②

개발·실행 플랫폼을 제공하는 모델은 PaaS(Platform as a Service)다. IaaS는 서버·스토리지 등 인프라를, SaaS는 완성된 소프트웨어를 서비스로 제공한다.

모델 제공 범위
IaaS 인프라(서버·스토리지)
PaaS 개발·실행 플랫폼
SaaS 완성된 소프트웨어

🔑 암기 — 인프라 I, 플랫폼 P, 소프트웨어 S(aaS).

문 097. 블록 암호화 방식이 아닌 것은?

  • ① DES
  • ② RC4
  • ③ AES
  • ④ SEED
정답 및 해설 보기

정답 ②

RC4는 1바이트씩 처리하는 스트림 암호(Stream Cipher)라 블록 단위(64/128비트)로 처리하는 블록 암호가 아니다.

종류 알고리즘
스트림 RC4(1바이트씩)
블록 DES(64bit) · AES · SEED · ARIA(128bit)

🔑 암기 — 스트림=RC4 · 블록=DES·AES·SEED·ARIA.

문 098. Public 메소드로부터 Private 배열이 반환될 경우 발생하는 문제점으로 가장 옳은 것은?

  • ① 메소드로의 접근이 불가능해진다.
  • ② 배열의 주소가 외부로 공개되어 외부에서 접근할 수 있게 된다.
  • ③ 시스템의 내부 정보가 노출된다.
  • ④ 동기화 오류가 발생한다.
정답 및 해설 보기

정답 ②

Public 메소드가 Private 배열을 반환하면 배열의 참조(주소)가 외부에 공개돼 외부에서 직접 접근·수정할 수 있게 된다 — ②가 옳다. 캡슐화 위반 문제다.

💡 Private 배열 반환 = 주소 외부 노출(캡슐화 위반).

문 099. 다음은 정보의 접근통제 정책에 대한 설명이다. (ㄱ)에 들어갈 내용으로 옳은 것은?

정책 (ㄱ) DAC RBAC
권한 부여 시스템 데이터 소유자 중앙 관리자
접근 결정 보안등급(Label) 신분(Identity) 역할(Role)
정책 변경 고정적(변경 어려움) 변경 용이 변경 용이
장점 안정적 중앙 집중적 구현 용이 유연함 관리 용이
  • ① NAC
  • ② MAC
  • ③ SDAC
  • ④ AAC
정답 및 해설 보기

정답 ②

MAC(Mandatory Access Control, 강제적 접근 통제)시스템이 권한을 부여하고 보안 등급(Label)으로 접근을 결정한다. 정책 변경이 어렵고 안정적·중앙 집중적이다. DAC=데이터 소유자(신분) 기반, RBAC=역할 기반이다.

💡 MAC = 시스템 부여 + 보안 등급(Label) + 강제적.

문 100. 다음 중 양방향 암호화 방식이 아닌 것은?

  • ① DES
  • ② SEED
  • ③ RSA
  • ④ HASH
정답 및 해설 보기

정답 ④

HASH는 복호화가 불가능한 단방향 암호화다. DES(대칭)·SEED(대칭)·RSA(비대칭)는 암호화·복호화가 모두 되는 양방향 방식이다.

💡 양방향 = DES·SEED·RSA · 단방향(복호화 ✗) = HASH.


이 회차 한 장 요약

과목 빈출·핵심 토픽 다시 볼 문항
Ⅰ 소프트웨어 설계 요구 분석·LOC 기간 산정·애자일/스크럼(스프린트 2~4주)·아키텍처 설계 순서·럼바우(객·동·기)·디자인 패턴(GoF·Singleton)·폭포수↔나선형·결합도·유스케이스·DFD·동료검토/인스펙션·CASE 003·005·008·018·019·020
Ⅱ 소프트웨어 개발 트리·DBMS 정의 기능·테스트 오라클·FTR·큐/스택/데크·테스트 케이스·Stub/Driver·재공학·선택 정렬·화이트/블랙박스·버전 관리(분산=Git)·NS Chart·McCabe V(G)·인스펙션 절차·연결 리스트·그래프 간선·이진 검색·형상관리(CCB) 029·030·032·034·035·040
Ⅲ 데이터베이스 구축 릴레이션(튜플·속성·도메인·스키마)·BCNF·관계대수(순수/일반)·클래스·병행제어·SQL 분류(DDL/DML/DCL)·INTERSECT·트리거·반정규화·개체 무결성·트리 차수·DROP CASCADE·카티션 프로덕트·REVOKE·분산 DB 041·046·047·057·058·059
Ⅳ 프로그래밍 언어 활용 결합도(제어)·IPv6(패킷·주소체계)·HRN·개발 환경·코드 추적(Python break·C 피보나치·Python 슬라이싱·C 논리연산·Java char 배열)·정수 자료형·네트워크 장비(리피터)·연산자·교착 4조건·흐름 제어(NAK)·fork·셸 until·포트(HTTP 80)·연산자 우선순위·Fan-In/Out 065·066·067·072·080
Ⅴ 정보시스템 구축관리 메타데이터·SDN·DoS(Smurf/Land/SYN)·CMMI·테일러링·키로거·Bell-LaPadula·암호화(스트림 RC4/블록·양방향/단방향)·Django·위험 분석·보안 CIA·인증·랜섬웨어·DDoS(TFN)·LOC·간트 차트·캡슐화·MAC 082·087·093·097·099

🎯 빈출 — 매 회차 단골: 애자일/스크럼·아키텍처 설계 순서·GoF 패턴·정규화(BCNF)·SQL 분류(DDL/DML/DCL)·코드 추적(C/Java/Python)·IPv6·교착 4조건·정보보안(접근 제어 모델·암호 스트림/블록·랜섬웨어)·프로젝트 관리(LOC/CMMI/간트).

⚠️ 함정 — '틀린 것/아닌 것/거리가 먼 것' 고르기 다수(001·003·005·007·009·013·014·016·020·023·024·025·028·033·036·038·039·040·045·049·060·062·063·070·073·074·083·085·088·091·100), 반대로 서술(014 State↔Sequence·063 HRN 값 방향·045 공유 최소화↔최대화), 가짜 이름(005 Phase Diagram·040 chief programmer team↔CCB). 유사 개념 교차 반복: 002·095 LOC 기간 산정 완전 동일 · 004·011 아키텍처 설계 순서 · 046·056 DDL/DML · 062·068 IPv6 · 088·097 스트림/블록 암호.

🔑 핵심 두문자 — 럼바우 객·동·기 · 결합도 자·스·제·외·공·내 · GoF 구조 어·브·컴·데·퍼·플·프 · 교착 상호배제·점유대기·비선점·환형대기 · 보안 CIA 기밀·무결·가용 · CMMI 초·관·정·정량·최적.

전체 목록 기출문제풀이
이 회차를 끝까지 풀었어요 🎉 정보처리기사 필기 더 둘러보기 →

합격까지

정보처리기사, 약점 과목이 보이나요?

초개인화 학습앱 Klue로 틀린 유형을 집중 공략하고, 에듀윌 온라인강의로 개념까지 정리하세요.