문서 읽는 데 115분 · 기출 2회 · 100문항

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

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

2021년 5월 시행(제4회) 기출. 100문항·5과목 × 20문항. 출처: 기출2회 기출문제


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

문 001. 시스템의 구성 요소로 볼 수 없는 것은?

  • ① Process
  • ② Feedback
  • ③ Maintenance
  • ④ Control
정답 및 해설 보기

정답 ③

시스템의 기본 구성 요소는 입력(Input)·처리(Process)·출력(Output)·제어(Control)·피드백(Feedback) 다섯이다. 무언가를 받아(입력) 규칙에 따라 가공하고(처리) 결과를 내보내며(출력), 목표 방향으로 통제하고(제어) 결과를 다시 입력에 반영(피드백)한다.

  • ③ 유지보수(Maintenance)는 운영 중 발생하는 문제 해결·성능 개선을 위한 활동이지 시스템을 이루는 구성 요소가 아니다.

🔑 암기 — 시스템 5요소: 입·처·출·제·피.

문 002. 유스케이스(Usecase)에 대한 설명 중 옳은 것은?

  • ① 유스케이스 다이어그램은 개발자의 요구를 추출하고 분석하기 위해 주로 사용한다.
  • ② 액터는 대상 시스템과 상호작용하는 사람이나 다른 시스템에 의한 역할이다.
  • ③ 사용자 액터는 본 시스템과 데이터를 주고받는 연동 시스템을 의미한다.
  • ④ 연동의 개념은 일방적으로 데이터를 파일이나 정해진 형식으로 넘겨주는 것을 의미한다.
정답 및 해설 보기

정답 ②

액터(Actor) 는 시스템 외부에서 시스템과 상호작용하는 대상이다. 사람뿐 아니라 결제·인증 시스템 같은 다른 시스템도 액터가 될 수 있으므로 ②가 정확한 정의다.

  • ① 유스케이스 다이어그램은 개발자가 아니라 사용자의 요구를 추출·분석하기 위해 쓴다.
  • ③ '사용자 액터'는 주로 사람을 가리킨다. 데이터를 주고받는 연동 시스템은 시스템 액터다.
  • ④ 연동은 일방적 전달뿐 아니라 양방향 상호작용까지 포함하는 넓은 개념이다.

문 003. 요구사항 개발 프로세스의 순서로 옳은 것은?

㉠ 도출(Elicitation) ㉡ 분석(Analysis) ㉢ 명세(Specification) ㉣ 확인(Validation)

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

정답 ①

요구사항 개발은 도출 → 분석 → 명세 → 확인 순서다(㉠-㉡-㉢-㉣).

단계 핵심 질문 주요 활동
도출(Elicitation) 무엇을 원하나? 인터뷰·설문·브레인스토밍
분석(Analysis) 말이 되나? 분류·개념 모델링·충돌 해결
명세(Specification) 어떻게 기록하나? 요구사항 명세서·다이어그램 작성
확인(Validation) 이게 맞나? 프로토타입 시연·동료 검토·워크스루

🔑 암기 — 도분명확(도출·분석·명세·확인).

문 004. 객체지향 기법에서 같은 클래스에 속한 각각의 객체를 의미하는 것은?

  • ① Instance
  • ② Message
  • ③ Method
  • ④ Module
정답 및 해설 보기

정답 ①

클래스(설계도)로부터 실제로 만들어진 객체를 인스턴스(Instance) 라 한다. '같은 클래스에 속한 각각의 객체'라는 표현이 곧 인스턴스의 정의다.

  • ② Message: 객체끼리 상호작용하기 위해 주고받는 신호.
  • ③ Method: 객체가 수행하는 동작(함수).
  • ④ Module: 독립적으로 분리·재사용되는 프로그램 단위.

💡 객체와 인스턴스는 거의 같은 뜻이나, 클래스와의 생성 관계를 강조할 때 '인스턴스'를 쓴다.

문 005. 객체지향 설계에서 객체가 가지고 있는 속성과 오퍼레이션의 일부를 감추어서 객체의 외부에서는 접근이 불가능하게 하는 개념은?

  • ① 조직화(Organizing)
  • ② 캡슐화(Encapsulation)
  • ③ 정보은닉(Information Hiding)
  • ④ 구조화(Structuralization)
정답 및 해설 보기

정답 ②·③ (복수정답 처리)

지문의 '일부를 감추어서 외부 접근을 불가능하게 한다'는 표현은 정보은닉(Information Hiding) 의 정의에 가장 부합한다. 다만 캡슐화 역시 속성·메서드를 하나로 묶으며 내부를 감추는 효과를 가지므로, 이 문항은 ②·③ 복수정답으로 처리되었다.

구분 캡슐화(Encapsulation) 정보은닉(Information Hiding)
핵심 묶는다(Bundling) 숨긴다(Hiding)
목적 데이터+메서드를 한 단위로 관리 내부 구현을 감추고 데이터 보호
관계 정보은닉의 전제 조건(먼저 묶어야 숨긴다) 캡슐화로 달성하려는 목표
  • ① 조직화·④ 구조화: 이 맥락의 표준 용어가 아니다.

문 006. GoF(Gangs of Four) 디자인 패턴에 대한 설명으로 틀린 것은?

  • ① Factory Method Pattern은 상위클래스에서 객체를 생성하는 인터페이스를 정의하고, 하위클래스에서 인스턴스를 생성하도록 하는 방식이다.
  • ② Prototype Pattern은 Prototype을 먼저 생성하고 인스턴스를 복제하여 사용하는 구조이다.
  • ③ Bridge Pattern은 기존에 구현되어 있는 클래스에 기능 발생 시 기존 클래스를 재사용할 수 있도록 중간에서 맞춰주는 역할을 한다.
  • ④ Mediator Pattern은 객체 간의 통제와 지시의 역할을 하는 중재자를 두어 객체지향의 목표를 달성하게 해준다.
정답 및 해설 보기

정답 ③

③의 '기존 클래스를 재사용하도록 중간에서 맞춰주는 역할'은 어댑터(Adapter) 패턴의 설명이다. 호환되지 않는 인터페이스를 변환해 함께 동작하게 한다(110V↔220V '돼지코').

브리지(Bridge) 패턴은 기능의 추상부와 구현부를 분리해 둘을 독립적으로 확장하게 한다.

  • ①·②·④는 각 패턴(팩토리 메서드·프로토타입·중재자)을 올바르게 설명했다.

⚠️ 함정 — 어댑터(변환·호환)와 브리지(추상/구현 분리)는 단골 혼동 포인트.

문 007. 요구사항 분석이 어려운 이유가 아닌 것은?

  • ① 개발자와 사용자 간의 지식이나 표현의 차이가 커서 상호 이해가 쉽지 않다.
  • ② 사용자의 요구는 예외가 거의 없어 열거와 구조화가 어렵지 않다.
  • ③ 사용자의 요구사항이 모호하고 불명확하다.
  • ④ 소프트웨어 개발 과정 중에 요구사항이 계속 변할 수 있다.
정답 및 해설 보기

정답 ②

요구사항 분석이 어려운 까닭은 '사람'과 '변화' 때문이다 — 개발자·사용자의 지식 차이(①), 요구의 모호함(③), 개발 중 잦은 변경(④).

  • ② 실제 사용자 요구는 수많은 예외 케이스를 가져 열거·구조화가 매우 어렵다. 정반대 진술이므로 정답.

문 008. 소프트웨어 아키텍처 설계에서 시스템 품질 속성이 아닌 것은?

  • ① 가용성(Availability)
  • ② 독립성(Isolation)
  • ③ 변경 용이성(Modifiability)
  • ④ 사용성(Usability)
정답 및 해설 보기

정답 ②

아키텍처 품질 속성은 시스템이 '얼마나 잘' 만들어졌는지를 나타내는 비기능 요구로, 가용성(①)·변경 용이성(③)·사용성(④)·성능·보안성·시험 용이성 등이 있다.

  • ② 독립성(Isolation)은 특정 모듈이 다른 부분에 영향을 주지 않는 기술적 특성으로, 시스템 전체의 품질 속성을 가리키는 일반 용어로 보기 어렵다.

문 009. 다음 설명에 해당하는 시스템으로 옳은 것은?

시스템 인터페이스를 구성하는 시스템으로, 연계할 데이터를 데이터베이스와 애플리케이션으로부터 연계 테이블 또는 파일 형태로 생성하여 송신하는 시스템이다.

  • ① 연계 서버
  • ② 중계 서버
  • ③ 송신 시스템
  • ④ 수신 시스템
정답 및 해설 보기

정답 ③

데이터를 생성송신하는 역할이므로 송신 시스템이다.

  • ④ 수신 시스템: 송신 시스템이 보낸 데이터를 받는다.
  • ①·② 연계/중계 서버: 송·수신 시스템 사이에서 데이터 송수신을 관리·통제하는 별도 시스템.

문 010. CASE(Computer-Aided Software Engineering)의 원천 기술이 아닌 것은?

  • ① 구조적 기법
  • ② 프로토타이핑 기술
  • ③ 정보 저장소 기술
  • ④ 일괄 처리 기술
정답 및 해설 보기

정답 ④

CASE는 소프트웨어 개발을 자동화하는 도구로, 원천 기술로 구조적 기법(①)·프로토타이핑(②)·정보 저장소(Repository, ③)·분산처리·자동화 도구 기술 등이 있다.

  • ④ 일괄 처리(Batch Processing)는 데이터를 모아 한 번에 처리하는 초창기 작업 방식으로 CASE의 원천 기술이 아니다.

문 011. 객체에게 어떤 행위를 하도록 지시하는 명령은?

  • ① Class
  • ② Package
  • ③ Object
  • ④ Message
정답 및 해설 보기

정답 ④

객체가 다른 객체에게 "이 일을 해달라"고 보내는 요청·명령메시지(Message) 다. 메시지를 받은 객체는 해당 메서드(Method) 를 실행해 응답한다.

  • ①·②·③ 클래스·패키지·객체는 구성 요소이지 '행위 지시 명령' 자체가 아니다.

💡 메시지 구성: 수신자(Receiver)·메서드명(Method Name)·인자(Arguments).

문 012. 서브시스템이 입력 데이터를 받아 처리하고 결과를 다른 시스템에 보내는 작업이 반복되는 아키텍처 스타일은?

  • ① 클라이언트 서버 구조
  • ② 계층 구조
  • ③ MVC 구조
  • ④ 파이프 필터 구조
정답 및 해설 보기

정답 ④

파이프-필터(Pipe-Filter) 구조다. 각 필터가 데이터를 입력받아 처리·출력하고, 파이프가 필터 사이로 데이터를 흘려보내는 과정이 반복된다(컴파일러·유닉스 쉘 파이프라인).

  • ① 클라이언트-서버: 요청/응답으로 자원·서비스 분리.
  • ② 계층 구조: 상하 계층으로 수직 분리.
  • ③ MVC: 데이터(Model)·화면(View)·제어(Controller) 분리.

문 013. 럼바우(Rumbaugh)의 객체지향 분석에서 사용하는 분석 활동으로 옳은 것은?

  • ① 객체 모델링, 동적 모델링, 정적 모델링
  • ② 객체 모델링, 동적 모델링, 기능 모델링
  • ③ 동적 모델링, 기능 모델링, 정적 모델링
  • ④ 정적 모델링, 객체 모델링, 기능 모델링
정답 및 해설 보기

정답 ②

럼바우의 객체지향 분석은 객체·동적·기능 모델링 세 관점이다.

모델링 관점 주요 다이어그램
객체 모델링 정적 구조(What) 객체 다이어그램·ER 다이어그램
동적 모델링 상태 변화(When) 상태 전이 다이어그램
기능 모델링 데이터 흐름(How) 자료 흐름도(DFD)

🔑 암기 — 럼바우 객·동·기.

문 014. UML 다이어그램이 아닌 것은?

  • ① 액티비티 다이어그램(Activity diagram)
  • ② 절차 다이어그램(Procedural diagram)
  • ③ 클래스 다이어그램(Class diagram)
  • ④ 시퀀스 다이어그램(Sequence diagram)
정답 및 해설 보기

정답 ②

액티비티·클래스·시퀀스는 모두 UML 표준 다이어그램이다.

  • ② 절차 다이어그램(Procedural diagram)은 UML 표준 용어가 아니다. '절차'는 구조적 방법론의 순서도(Flowchart) 개념에 가깝다.

문 015. UML 모델에서 한 객체가 다른 객체에게 오퍼레이션을 수행하도록 지정하는 의미적 관계로 옳은 것은?

  • ① Dependency
  • ② Realization
  • ③ Generalization
  • ④ Association
정답 및 해설 보기

정답 ②

'한 객체가 다른 객체에게 오퍼레이션을 수행하도록 지정하는 의미적 관계'는 실체화(Realization) 의 정의다. 인터페이스(기능 명세)와 그것을 실제 구현한 클래스 사이의 관계로, 클래스가 인터페이스의 오퍼레이션을 '실체'로 만들어 준다.

관계 의미 표기
의존(Dependency) 일시적 사용·참조 점선 화살표
연관(Association) 구조적 연결(has-a) 실선
일반화(Generalization) 상속(is-a) 속 빈 삼각형
실체화(Realization) 인터페이스 구현(implements) 점선+빈 삼각형

문 016. 다음 중 상위 CASE 도구가 지원하는 주요 기능으로 볼 수 없는 것은?

  • ① 모델들 사이의 모순 검사 기능
  • ② 전체 소스 코드 생성 기능
  • ③ 모델의 오류 검증 기능
  • ④ 자료흐름도 작성 기능
정답 및 해설 보기

정답 ②

상위(Upper) CASE 는 분석·설계 단계를 지원한다. 모순 검사(①)·오류 검증(③)·자료흐름도 작성(④)이 주 기능이다.

  • ② 전체 소스 코드 생성은 구현(코딩) 단계의 기능으로, 하위(Lower) CASE 의 대표 기능이다.
구분 담당 단계 주요 기능
상위 CASE 분석·설계 모델링·다이어그램·모순 검사
하위 CASE 구현·테스트 소스 코드 생성·테스트 자동화
통합 CASE 전체 상·하위 기능 통합

문 017. 요구사항 관리 도구의 필요성으로 틀린 것은?

  • ① 요구사항 변경으로 인한 비용 편익 분석
  • ② 기존 시스템과 신규 시스템의 성능 비교
  • ③ 요구사항 변경의 추적
  • ④ 요구사항 변경에 따른 영향 평가
정답 및 해설 보기

정답 ②

요구사항 관리 도구는 요구사항의 변경 이력 추적(③), 변경 영향 평가(④), 비용·편익 분석(①)을 지원한다.

  • ② '기존·신규 시스템의 성능 비교'는 성능 테스트 도구의 역할로, 요구사항 관리와 거리가 멀다.

문 018. 애자일 개발 방법론이 아닌 것은?

  • ① 스크럼(Scrum)
  • ② 익스트림 프로그래밍(XP, eXtreme Programming)
  • ③ 기능 주도 개발(FDD, Feature Driven Development)
  • ④ 하둡(Hadoop)
정답 및 해설 보기

정답 ④

스크럼(①)·XP(②)·FDD(③)는 모두 애자일 방법론이다.

  • ④ 하둡(Hadoop)은 대용량 데이터를 분산 처리하는 빅데이터 프레임워크로, 개발 방법론이 아니다.

💡 대표 애자일: 스크럼·XP·칸반·린·FDD·크리스탈.

문 019. GoF(Gangs of Four) 디자인 패턴 중 생성 패턴으로 옳은 것은?

  • ① Singleton Pattern
  • ② Adapter Pattern
  • ③ Decorator Pattern
  • ④ State Pattern
정답 및 해설 보기

정답 ①

GoF는 생성·구조·행위 3분류다. 싱글톤(Singleton) 은 인스턴스를 하나만 만들도록 통제하므로 생성 패턴이다.

  • ② 어댑터·③ 데코레이터: 구조 패턴.
  • ④ 상태(State): 행위 패턴.

🔑 암기 — 생성 추빌팩프싱(추상팩토리·빌더·팩토리메서드·프로토타입·싱글톤).

문 020. 사용자 인터페이스(UI)의 특징으로 틀린 것은?

  • ① 구현하고자 하는 결과의 오류를 최소화한다.
  • ② 사용자의 편의성을 높임으로써 작업 시간을 증가시킨다.
  • ③ 막연한 작업 기능에 대해 구체적인 방법을 제시하여 준다.
  • ④ 사용자 중심의 상호작용이 되도록 한다.
정답 및 해설 보기

정답 ②

좋은 UI는 오류 최소화(①)·구체적 방법 제시(③)·사용자 중심 상호작용(④)을 지향한다.

  • ② 편의성이 높아지면 작업 시간은 감소해야 한다. '증가시킨다'는 정반대 진술이므로 정답.

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

문 021. 힙 정렬(Heap Sort)에 대한 설명으로 틀린 것은?

  • ① 정렬할 입력 레코드들로 힙을 구성하고 가장 큰 키 값을 갖는 루트 노드를 제거하는 과정을 반복하여 정렬하는 기법이다.
  • ② 평균 수행 시간은 O(nLog₂n)이다.
  • ③ 완전 이진 트리(Complete Binary Tree)로 입력 자료의 레코드를 구성한다.
  • ④ 최악의 수행 시간은 O(2n⁴)이다.
정답 및 해설 보기

정답 ④

힙 정렬은 완전 이진 트리인 힙(최대/최소 힙)을 이용해 루트(최댓값/최솟값)를 반복 추출하며 정렬한다. ①·②·③은 모두 옳다.

  • ④ 힙 정렬은 평균·최악 모두 O(nlog₂n) 이다. O(2n⁴)는 틀린 복잡도다.
정렬 평균 최악
버블·선택·삽입 O(n²) O(n²)
O(nlog₂n) O(n²)
힙·병합 O(nlog₂n) O(nlog₂n)

🔑 암기 — 평균·최악 모두 O(nlog₂n): 힙·병합. 퀵은 평균만 빠르고 최악 O(n²).

문 022. 다음 중 단위 테스트를 통해 발견할 수 있는 오류가 아닌 것은?

  • ① 알고리즘 오류에 따른 원치 않는 결과
  • ② 탈출구가 없는 반복문의 사용
  • ③ 모듈 간의 비정상적 상호작용으로 인한 원치 않는 결과
  • ④ 틀린 계산 수식에 의한 잘못된 결과
정답 및 해설 보기

정답 ③

단위 테스트는 모듈 하나 내부의 논리를 검사한다. 알고리즘 오류(①)·무한 루프(②)·계산식 오류(④)는 모두 한 모듈 안에서 잡을 수 있다.

  • ③ '모듈 간 비정상적 상호작용'은 모듈을 연결해야만 드러나므로 통합 테스트의 영역이다.

문 023. 다음 설명의 소프트웨어 테스트의 기본 원칙은?

  • 파레토 법칙이 좌우한다.
  • 애플리케이션 결함의 대부분은 소수의 특정한 모듈에 집중되어 존재한다.
  • 결함은 발생한 모듈에서 계속 추가로 발생할 가능성이 높다.
  • ① 살충제 패러독스
  • ② 결함 집중
  • ③ 오류 부재의 궤변
  • ④ 완벽한 테스팅은 불가능
정답 및 해설 보기

정답 ②

결함이 소수 모듈에 몰린다는 파레토(80:20) 성격의 원칙은 결함 집중(Defect Clustering) 이다.

  • ① 살충제 패러독스: 같은 테스트 케이스를 반복하면 새 결함을 못 잡는 현상.
  • ③ 오류 부재의 궤변: 결함이 없어도 요구를 못 채우면 품질이 높다고 할 수 없음.
  • ④ 완벽한 테스팅 불가능: 모든 입력·경로 테스트는 비현실적.

문 024. 버전 관리 항목 중 저장소에 새로운 버전의 파일로 갱신하는 것을 의미하는 용어는?

  • ① 형상 감사(Configuration Audit)
  • ② 롤백(Rollback)
  • ③ 단위 테스트(Unit Test)
  • ④ 체크인(Check-In)
정답 및 해설 보기

정답 ④

로컬에서 수정한 내용을 저장소에 올려 새 버전으로 갱신하는 행위가 체크인(Check-In) 이다(Git의 commit→push 흐름).

  • ② 롤백: 이전 버전으로 되돌림.
  • ①·③ 형상 감사·단위 테스트는 '파일 갱신' 용어가 아니다.

문 025. 소프트웨어 테스트와 관련한 설명으로 틀린 것은?

  • ① 화이트박스 테스트는 모듈의 논리적인 구조를 체계적으로 점검할 수 있다.
  • ② 블랙박스 테스트는 프로그램의 구조를 고려하지 않는다.
  • ③ 테스트 케이스에는 일반적으로 시험 조건, 테스트 데이터, 예상 결과가 포함되어야 한다.
  • ④ 화이트박스 테스트에서 기본 경로(Basis Path)란 흐름 그래프의 시작 노드에서 종료 노드까지의 서로 독립된 경로로 싸이클을 허용하지 않는 경로를 말한다.
정답 및 해설 보기

정답 ④

①·②·③은 옳다.

  • ④ 기본 경로(Basis Path)는 시작~종료 노드까지의 독립된 경로로, 반복(Loop, 싸이클)을 포함할 수 있다. '싸이클을 허용하지 않는다'는 진술이 틀렸다.
구분 화이트박스 블랙박스
관점 개발자(내부 구조) 사용자(외부 명세)
종류 구문·결정·조건 커버리지, 기본 경로 동등 분할, 경계값 분석, 원인-결과 그래프

문 026. 애플리케이션의 처리량, 응답 시간, 경과 시간, 자원 사용률에 대해 가상의 사용자를 생성하고 테스트를 수행함으로써 성능 목표를 달성하였는지를 확인하는 테스트 자동화 도구는?

  • ① 명세 기반 테스트 설계 도구
  • ② 코드 기반 테스트 설계 도구
  • ③ 기능 테스트 수행 도구
  • ④ 성능 테스트 도구
정답 및 해설 보기

정답 ④

처리량·응답 시간·자원 사용률은 모두 성능 지표다. 가상 사용자를 만들어 부하 상황의 성능 목표 달성 여부를 보는 것은 성능 테스트 도구다(JMeter·nGrinder 등).

  • ①·② 테스트 케이스 설계 도구, ③ 기능 동작 확인 도구로 목적이 다르다.

문 027. 소프트웨어 형상관리에 대한 설명으로 거리가 먼 것은?

  • ① 소프트웨어에 가해지는 변경을 제어하고 관리한다.
  • ② 프로젝트 계획, 분석서, 설계서, 프로그램, 테스트 케이스 모두 관리 대상이다.
  • ③ 대표적인 형상관리 도구로 Ant, Maven, Gradle 등이 있다.
  • ④ 유지 보수 단계뿐만 아니라 개발 단계에도 적용할 수 있다.
정답 및 해설 보기

정답 ③

형상관리(SCM)는 산출물의 변경을 추적·통제하는 활동으로 ①·②·④는 옳다.

  • ③ Ant·Maven·Gradle은 빌드 자동화 도구다. 대표적 형상관리 도구는 Git·SVN·CVS.

⚠️ 함정 — 형상관리(Git/SVN/CVS) ↔ 빌드(Ant/Maven/Gradle) 구분은 단골 출제.

문 028. 디지털 저작권 관리(DRM) 구성 요소가 아닌 것은?

  • ① Dataware house
  • ② DRM Controller
  • ③ Packager
  • ④ Contents Distributor
정답 및 해설 보기

정답 ①

DRM 구성 요소는 콘텐츠를 암호화·패키징하는 Packager, 사용 권한을 통제하는 DRM Controller, 콘텐츠를 배포하는 Contents Distributor, 권한 발급·결제의 Clearing House 등이다.

  • ① Data Warehouse는 의사결정 지원용 데이터를 통합 저장하는 DB 시스템으로 DRM과 무관하다.

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

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

정답 ②

원격·로컬 저장소에 자료가 함께 저장되고 로컬에서도 버전 관리가 되며 대표 도구가 Git인 방식은 분산 저장소 방식이다.

  • ④ 클라이언트·서버(중앙 집중) 방식은 중앙 서버에만 전체 이력이 있어 네트워크 연결이 필요하다(SVN).

문 030. 블랙박스 테스트를 이용하여 발견할 수 있는 오류가 아닌 것은?

  • ① 비정상적인 자료를 입력해도 오류 처리를 수행하지 않는 경우
  • ② 정상적인 자료를 입력해도 요구된 기능이 제대로 수행되지 않는 경우
  • ③ 반복 조건을 만족하는데도 루프 내의 문장이 수행되지 않는 경우
  • ④ 경계값을 입력할 경우 요구된 출력 결과가 나오지 않는 경우
정답 및 해설 보기

정답 ③

블랙박스는 입력·출력으로 기능의 명세 준수를 본다. ①·②·④는 입력값에 대한 기대 출력 확인이므로 블랙박스로 잡을 수 있다.

  • ③ '반복 조건을 만족하는데 루프 내부가 실행 안 됨'은 내부 제어 구조를 봐야 알 수 있어 화이트박스의 영역이다.

문 031. 다음 자료를 버블 정렬을 이용하여 오름차순으로 정렬할 경우 Pass 2의 결과는?

9, 6, 7, 3, 5

  • ① 3, 5, 6, 7, 9
  • ② 6, 7, 3, 5, 9
  • ③ 3, 5, 9, 6, 7
  • ④ 6, 3, 5, 7, 9
정답 및 해설 보기

정답 ④

버블 정렬(오름차순)은 인접한 두 값을 비교해 왼쪽이 크면 교환하며, 한 Pass마다 가장 큰 값이 뒤로 확정된다.

  • 초기: 9, 6, 7, 3, 5
  • Pass 1: 6, 7, 3, 5, 9 (9 확정)
  • Pass 2: 6, 3, 5, 7, 9 (7 확정)

따라서 Pass 2 결과는 6, 3, 5, 7, 9 다.

문 032. 정렬된 N개의 데이터를 처리하는 데 O(NLog₂N)의 시간이 소요되는 정렬 알고리즘은?

  • ① 합병 정렬
  • ② 버블 정렬
  • ③ 선택 정렬
  • ④ 삽입 정렬
정답 및 해설 보기

정답 ①

O(nlog₂n) 정렬은 합병(병합)·힙·퀵(평균) 이다.

  • ②·③·④ 버블·선택·삽입은 모두 O(n²)다.

문 033. 다음 Postfix로 표현된 연산식의 연산 결과로 옳은 것은?

3456+

  • ① 35
  • ② 42
  • ③ 81
  • ④ 360
정답 및 해설 보기

정답 ②

후위 표기식 34*56*+ 은 토큰 3 4 * 5 6 * + 으로, 스택으로 계산한다.

  • 3, 4 push → * : 3×4 = 12
  • 5, 6 push → * : 5×6 = 30
  • + : 12 + 30 = 42

중위식으로 바꾸면 (3×4) + (5×6) = 42 다.

문 034. EAI(Enterprise Application Integration) 구축 유형에서 애플리케이션 사이에 미들웨어를 두어 처리하는 것은?

  • ① Message Bus
  • ② Point-to-Point
  • ③ Hub & Spoke
  • ④ Hybrid
정답 및 해설 보기

정답 ①

Message Bus(ESB) 는 모든 애플리케이션을 공용 '버스' 미들웨어 계층에 연결해 메시지를 라우팅·변환·전달한다. '애플리케이션 사이에 미들웨어를 둔다'는 설명에 부합한다.

유형 구조
Point-to-Point 1:1 직접 연결(많아지면 복잡)
Hub & Spoke 중앙 허브 경유
Message Bus 공용 버스(미들웨어) 채널
Hybrid 위 방식 혼합

문 035. 인터페이스 구현 검증 도구가 아닌 것은?

  • ① Foxbase
  • ② STAF
  • ③ watir
  • ④ xUnit
정답 및 해설 보기

정답 ①

인터페이스 구현 검증 도구로 단위 테스트 프레임워크 xUnit, 자동화 프레임워크 STAF, Ruby 기반 웹 테스트 watir 등이 있다.

  • ① Foxbase는 1980년대의 관계형 DBMS로 검증 도구가 아니다.

🔑 암기 — 인터페이스 구현 검증: xUnit·STAF·watir·FitNesse·NTAF·Selenium.

문 036. 클린 코드 작성 원칙에 대한 설명으로 틀린 것은?

  • ① 코드의 중복을 최소화한다.
  • ② 코드가 다른 모듈에 미치는 영향을 최대화하도록 작성한다.
  • ③ 누구든지 코드를 쉽게 읽을 수 있도록 작성한다.
  • ④ 간단하게 코드를 작성한다.
정답 및 해설 보기

정답 ②

클린 코드는 중복 최소화(DRY, ①)·가독성(③)·단순성(KISS, ④)을 지향한다.

  • ② 좋은 코드는 다른 모듈에 미치는 영향을 최소화(낮은 결합도)해야 한다. '최대화'는 정반대다.

문 037. 소프트웨어 패키징에 대한 설명으로 틀린 것은?

  • ① 패키징은 개발자 중심으로 진행한다.
  • ② 신규 및 변경 개발소스를 식별하고, 이를 모듈화하여 상용제품으로 패키징 한다.
  • ③ 고객의 편의성을 위해 매뉴얼 및 버전관리를 지속적으로 한다.
  • ④ 범용 환경에서 사용이 가능하도록 일반적인 배포 형태로 패키징이 진행된다.
정답 및 해설 보기

정답 ①

②·③·④는 옳다.

  • ① 패키징은 사용자(고객) 중심으로 진행한다. 개발자가 아니라 사용자의 설치·사용 편의가 최우선이다.

문 038. 공학적으로 잘된 소프트웨어(Well Engineered Software)의 설명 중 틀린 것은?

  • ① 소프트웨어는 유지보수가 용이해야 한다.
  • ② 소프트웨어는 신뢰성이 높아야 한다.
  • ③ 소프트웨어는 사용자 수준에 무관하게 일관된 인터페이스를 제공해야 한다.
  • ④ 소프트웨어는 충분한 테스팅을 거쳐야 한다.
정답 및 해설 보기

정답 ③

잘된 소프트웨어는 유지보수성(①)·신뢰성(②)·충분한 테스팅(④)을 갖춰야 한다.

  • ③ 좋은 소프트웨어는 사용자 수준에 적절한 인터페이스를 제공해야 한다(초보자·전문가 모드 등). '사용자 수준에 무관하게'가 틀렸다.

문 039. 테스트와 디버그의 목적으로 옳은 것은?

  • ① 테스트는 오류를 찾는 작업이고 디버깅은 오류를 수정하는 작업이다.
  • ② 테스트는 오류를 수정하는 작업이고 디버깅은 오류를 찾는 작업이다.
  • ③ 둘 다 소프트웨어의 오류를 찾는 작업으로 오류 수정은 하지 않는다.
  • ④ 둘 다 소프트웨어 오류의 발견, 수정과 무관하다.
정답 및 해설 보기

정답 ①

테스트는 결함의 존재를 드러내 찾아내는 활동, 디버깅은 발견된 결함의 원인을 찾아 코드를 수정하는 활동이다.

💡 비유 — 테스트는 병 '진단', 디버깅은 '치료'.

문 040. 다음 중 스택을 이용한 연산과 거리가 먼 것은?

  • ① 선택 정렬
  • ② 재귀 호출
  • ③ 후위 표현(Post-fix Expression)의 연산
  • ④ 깊이 우선 탐색
정답 및 해설 보기

정답 ①

스택(LIFO)을 쓰는 연산: 재귀 호출(콜 스택, ②)·후위 표기 연산(③)·깊이 우선 탐색(DFS의 백트래킹, ④).

  • ① 선택 정렬은 최솟값을 찾아 앞으로 보내는 반복으로, 스택을 직접 쓰지 않는다.

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

문 041. 병렬 데이터베이스 환경 중 수평 분할에서 활용되는 분할 기법이 아닌 것은?

  • ① 라운드-로빈
  • ② 범위 분할
  • ③ 예측 분할
  • ④ 해시 분할
정답 및 해설 보기

정답 ③

수평 분할(레코드 단위 분할) 기법은 라운드-로빈(순차 분배)·범위 분할(값 범위 기준)·해시 분할(해시 함수 결과 기준)·리스트 분할 등이다.

  • ③ '예측 분할'은 일반적인 DB 분할 기법에 없는 용어다.

문 042. 시스템 카탈로그에 대한 설명으로 옳지 않은 것은?

  • ① 사용자가 직접 시스템 카탈로그의 내용을 갱신하여 데이터베이스 무결성을 유지한다.
  • ② 시스템 자신이 필요로 하는 스키마 및 여러 가지 객체에 관한 정보를 포함하고 있는 시스템 데이터베이스이다.
  • ③ 시스템 카탈로그에 저장되는 내용을 메타데이터라고도 한다.
  • ④ 시스템 카탈로그는 DBMS가 스스로 생성하고 유지한다.
정답 및 해설 보기

정답 ①

시스템 카탈로그(데이터 사전)는 DB 구조 정보(메타데이터, ③)를 담은 시스템 DB(②)로, DBMS가 스스로 생성·유지한다(④).

  • ① 사용자가 직접 갱신할 수 없다. CREATE/ALTER 등으로 사용자가 객체를 바꾸면 DBMS가 자동으로 카탈로그를 갱신한다. 사용자의 직접 수정은 무결성을 깬다.

문 043. SQL문에서 SELECT에 대한 설명으로 옳지 않은 것은?

  • ① FROM 절에는 질의에 의해 검색될 데이터들을 포함하는 테이블명을 기술한다.
  • ② 검색 결과에 중복되는 레코드를 없애기 위해서는 WHERE 절에 'DISTINCT' 키워드를 사용한다.
  • ③ HAVING 절은 GROUP BY 절과 함께 사용되며, 그룹에 대한 조건을 지정한다.
  • ④ ORDER BY 절은 특정 속성을 기준으로 정렬하여 검색할 때 사용한다.
정답 및 해설 보기

정답 ②

①·③·④는 옳다.

  • DISTINCT 는 WHERE가 아니라 SELECT 절 바로 뒤에 쓴다. SELECT DISTINCT 컬럼 FROM 테이블이 올바른 형식이다.

💡 SELECT 실행 순서: FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY.

문 044. SQL에서 VIEW를 삭제할 때 사용하는 명령은?

  • ① ERASE
  • ② KILL
  • ③ DROP
  • ④ DELETE
정답 및 해설 보기

정답 ③

뷰는 데이터베이스 객체이므로 구조 자체를 제거하는 DROP(DDL)으로 삭제한다(DROP VIEW 뷰이름;).

  • ④ DELETE는 행(데이터)을 삭제하는 DML이다. ①·② ERASE·KILL은 표준 SQL이 아니다.
구분 DELETE TRUNCATE DROP
분류 DML DDL DDL
대상 행(WHERE 가능) 전체 행 객체 구조
Rollback 가능 불가 불가

문 045. DDL(Data Define Language)의 명령어 중 스키마, 도메인, 인덱스 등을 정의할 때 사용하는 SQL문은?

  • ① ALTER
  • ② SELECT
  • ③ CREATE
  • ④ INSERT
정답 및 해설 보기

정답 ③

객체를 새로 정의(생성) 하는 DDL은 CREATE 다(CREATE TABLE/VIEW/INDEX).

  • ① ALTER: 기존 구조 수정(DDL). ② SELECT·④ INSERT: 데이터 조회·삽입(DML).

🔑 암기 — DDL Create·Alter·Drop·Truncate / DML SELECT·INSERT·UPDATE·DELETE / DCL GRANT·REVOKE.

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

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

[R1 테이블]

학번 학점 수
20201111 15
20202222 20

[R2 테이블]

학번 과목번호
20202222 CS200
20203333 CS300

보기 ①

학번 학점 수 과목번호
20202222 20 CS200

보기 ②

학번
20202222

보기 ③

학번
20201111
20202222
20203333

보기 ④

학번 학점 수 과목번호
20201111 15 NULL
20202222 20 CS200
20203333 NULL CS300
정답 및 해설 보기

정답 ②

INTERSECT는 두 SELECT 결과의 교집합(공통 행)만 반환한다.

  • R1의 학번: 20201111, 20202222
  • R2의 학번: 20202222, 20203333
  • 교집합: 20202222 하나뿐

결과는 학번 한 컬럼에 20202222 한 행이므로 ②다.

💡 집합 연산자: UNION(합집합)·INTERSECT(교집합)·MINUS/EXCEPT(차집합).

문 047. 데이터베이스 설계 시 물리적 설계 단계에서 수행하는 사항이 아닌 것은?

  • ① 레코드 집중의 분석 및 설계
  • ② 접근 경로 설계
  • ③ 저장 레코드의 양식 설계
  • ④ 목표 DBMS에 맞는 스키마 설계
정답 및 해설 보기

정답 ④

물리적 설계는 디스크 저장 방식·성능 관련 작업으로 레코드 집중(①)·접근 경로(②)·저장 레코드 양식(③)을 다룬다.

  • ④ '목표 DBMS에 맞는 스키마 설계'는 논리적 설계 단계에 해당한다.
단계 산출물
개념적 ERD
논리적 테이블 스키마·정규화(목표 DBMS 반영)
물리적 파일 구조·인덱스·접근 경로

문 048. 릴레이션에서 기본 키를 구성하는 속성은 널(Null) 값이나 중복 값을 가질 수 없다는 것을 의미하는 제약 조건은?

  • ① 참조 무결성
  • ② 보안 무결성
  • ③ 개체 무결성
  • ④ 정보 무결성
정답 및 해설 보기

정답 ③

기본 키가 NULL·중복을 가질 수 없다는 제약은 개체 무결성(Entity Integrity) 이다.

  • ① 참조 무결성: 외래 키 값은 참조 테이블의 기본 키에 존재하는 값이어야 한다.

문 049. 병행 제어 기법의 종류가 아닌 것은?

  • ① 로킹 기법
  • ② 시분할 기법
  • ③ 타임 스탬프 기법
  • ④ 다중 버전 기법
정답 및 해설 보기

정답 ②

병행 제어 기법: 로킹(①)·타임 스탬프(③)·다중 버전(MVCC, ④)·낙관적 검증.

  • ② 시분할(Time-sharing)은 CPU를 짧은 시간으로 나눠 쓰는 운영체제 스케줄링 기법으로 병행 제어와 무관하다.

문 050. 다음 R1과 R2의 테이블에서 아래의 실행 결과를 얻기 위한 SQL문은?

[R1] 테이블

학번 이름 학년 학과 주소
1000 홍길동 1 컴퓨터공학 서울
2000 김철수 1 전기공학 경기
3000 강남길 2 전자공학 경기
4000 오말자 2 컴퓨터공학 경기
5000 장미화 3 전자공학 서울

[R2] 테이블

학번 과목 번호 과목이름 학점 점수
1000 C100 컴퓨터구조 A 91
2000 C200 데이터베이스 A+ 99
3000 C100 컴퓨터구조 B+ 89
3000 C200 데이터베이스 B 85
4000 C200 데이터베이스 A 93
4000 C300 운영체제 B+ 88
5000 C300 운영체제 B 82

[실행결과]

과목번호 과목이름
C100 컴퓨터구조
C200 데이터베이스

보기 ①

SQL
SELECT 과목번호, 과목이름 FROM RI, R2 WHERE
  R1.학번 = R2.학번 AND R1.학과 = '전자공학' AND
  R1.이름 = '강남길';

보기 ②

SQL
SELECT 과목번호, 과목이름 FROM RI, R2 WHERE
  R1.학번 = R2.학번 OR R1.학과 = '전자공학' OR
  R1.이름 = '홍길동';

보기 ③

SQL
SELECT 과목번호, 과목이름 FROM R1, R2 WHERE
  R1.학번 R2.학번 AND R1.학과 = '컴퓨터공학' AND
  R1.이름 '강남길';

보기 ④

SQL
SELECT 과목번호, 과목이름 FROM R1, R2 WHERE
  R1.학번 = R2.학번 OR R1.학과 = '컴퓨터공학' OR
  R1.이름 = '홍길동';
정답 및 해설 보기

정답 ①

실행결과는 C100(컴퓨터구조)·C200(데이터베이스) 두 과목이다. R2에서 이 두 과목을 함께 수강한 학생은 학번 3000이고, R1에서 3000은 이름 '강남길'·학과 '전자공학'이다.

  • R1.학번 = R2.학번 AND R1.학과 = '전자공학' AND R1.이름 = '강남길' → 정확히 학번 3000의 수강 과목(C100·C200)을 반환해 실행결과와 일치한다.
  • ②·④는 OR 조건이라 거의 모든 행이 조인되어 결과가 달라진다. ③은 학과가 '컴퓨터공학'이라 대상 학생이 다르다.

문 051. 다음 관계 대수 중 순수 관계 연산자가 아닌 것은?

  • ① 차집합(Difference)
  • ② 프로젝트(Project)
  • ③ 조인(Join)
  • ④ 디비전 (Division)
정답 및 해설 보기

정답 ①

순수 관계 연산자는 셀렉트(σ)·프로젝트(π)·조인(⋈)·디비전(÷) 이다.

  • ① 차집합(Difference, −)은 일반 집합 연산자(합집합·교집합·차집합·카티션 프로덕트)에 속한다.

🔑 암기 — 순수 관계 연산자: 셀·프·조·디.

문 052. 관계형 데이터 모델의 릴레이션에 대한 설명으로 틀린 것은?

  • ① 모든 속성값은 원자값을 갖는다.
  • ② 한 릴레이션에 포함된 튜플은 모두 상이하다.
  • ③ 한 릴레이션에 포함된 튜플 사이에는 순서가 없다.
  • ④ 한 릴레이션을 구성하는 속성 사이에는 순서가 존재한다.
정답 및 해설 보기

정답 ④

릴레이션은 원자성(①)·튜플 유일성(②)·튜플 무순서성(③)을 가진다.

  • 속성(컬럼) 사이에도 순서가 없다. '순서가 존재한다'는 진술이 틀렸다.

문 053. 릴레이션 R의 차수가 4이고 카디널리티가 5이며, 릴레이션 S의 차수가 6이고 카디널리티가 7일 때, 두 개의 릴레이션을 카티션 프로덕트한 결과의 새로운 릴레이션의 차수와 카디널리티는 얼마인가?

  • ① 24, 35
  • ② 24, 12
  • ③ 10, 35
  • ④ 10, 12
정답 및 해설 보기

정답 ③

카티션 프로덕트(R × S)는 차수는 더하고, 카디널리티는 곱한다.

  • 차수 = 4 + 6 = 10
  • 카디널리티 = 5 × 7 = 35

🔑 암기 — 차수(Degree)=속성 수, 카디널리티(Cardinality)=튜플 수. 카티션은 차수 합·카디널리티 곱.

문 054. 속성(Attribute)에 대한 설명으로 틀린 것은?

  • ① 속성은 개체의 특성을 기술한다.
  • ② 속성은 데이터베이스를 구성하는 가장 작은 논리적 단위이다.
  • ③ 속성은 파일 구조상 데이터 항목 또는 데이터 필드에 해당된다.
  • ④ 속성의 수를 "cardinality"라고 한다.
정답 및 해설 보기

정답 ④

①·②·③은 속성(컬럼)의 올바른 설명이다.

  • 속성의 수는 차수(Degree) 다. 카디널리티(Cardinality)는 튜플(행)의 수다.

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

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

정답 ①

UPDATE 구문은 UPDATE 테이블 SET 컬럼=값 WHERE 조건 이므로 빈칸은 SET 이다.

문 056. 관계 데이터베이스 모델에서 차수(Degree)의 의미는?

  • ① 튜플의 수
  • ② 테이블의 수
  • ③ 데이터베이스의 수
  • ④ 애트리뷰트의 수
정답 및 해설 보기

정답 ④

차수(Degree)는 속성(애트리뷰트, 컬럼)의 수다.

  • ① 튜플의 수는 카디널리티(Cardinality)다.

문 057. 개체-관계 모델(E-R)의 그래픽 표현으로 옳지 않은 것은?

  • ① 개체 타입 - 사각형
  • ② 속성 - 원형
  • ③ 관계 타입 - 마름모
  • ④ 연결 - 삼각형
정답 및 해설 보기

정답 ④

ERD 기호: 개체=사각형(①)·속성=타원/원형(②)·관계=마름모(③)·연결=선(Line).

  • ④ 연결은 삼각형이 아니라 으로 표현한다.

문 058. 트랜잭션의 실행이 실패하였음을 알리는 연산자로 트랜잭션이 수행한 결과를 원래의 상태로 원상 복귀 시키는 연산은?

  • ① COMMIT 연산
  • ② BACKUP 연산
  • ③ LOG 연산
  • ④ ROLLBACK 연산
정답 및 해설 보기

정답 ④

실패 시 변경을 모두 취소하고 트랜잭션 시작 이전 상태로 되돌리는 연산은 ROLLBACK 이다.

  • ① COMMIT은 변경을 영구 저장한다.

🔑 암기 — 트랜잭션 ACID: 원자성·일관성·고립성·지속성.

문 059. 데이터 속성 간의 종속성에 대한 엄밀한 고려 없이 잘못 설계된 데이터베이스에서는 데이터 처리 연산 수행 시 각종 이상 현상이 발생할 수 있는데, 이러한 이상 현상이 아닌 것은?

  • ① 검색 이상
  • ② 삽입 이상
  • ③ 삭제 이상
  • ④ 갱신 이상
정답 및 해설 보기

정답 ①

이상 현상(Anomaly)은 삽입 이상·삭제 이상·갱신 이상 3가지다.

  • ① '검색 이상'은 정규화 이론의 표준 이상 현상이 아니다.

문 060. 제3정규형(3NF)에서 BCNF(Boyce-Codd Normal Form)가 되기 위한 조건은?

  • ① 결정자가 후보키가 아닌 함수 종속 제거
  • ② 이행적 함수 종속 제거
  • ③ 부분적 함수 종속 제거
  • ④ 원자값이 아닌 도메인 분해
정답 및 해설 보기

정답 ①

3NF → BCNF는 모든 결정자가 후보 키가 되도록, 즉 결정자가 후보 키가 아닌 함수 종속을 제거한다.

  • ② 이행 종속 제거: 2NF→3NF. ③ 부분 함수 종속 제거: 1NF→2NF. ④ 도메인 원자값 분해: →1NF.

🔑 암기 — 정규화 두부이결다조(도메인원자값·부분종속·이행종속·결정자후보키·다치종속·조인종속).


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

문 061. 다음 설명에 해당하는 방식은?

  • 무선 랜에서 데이터 전송 시, 매체가 비어 있음을 확인한 뒤 충돌을 회피하기 위해 임의 시간을 기다린 후 데이터를 전송하는 방법이다.
  • 네트워크에 데이터 전송이 없는 경우라도 동시 전송에 의한 충돌에 대비하여 확인 신호를 전송한다.
  • ① STA
  • ② Collision Domain
  • ③ CSMA/CA
  • ④ CSMA/CD
정답 및 해설 보기

정답 ③

'무선 랜'·'충돌 회피'가 키워드다. CSMA/CA(Collision Avoidance) 는 무선 랜에서 전송 전에 매체가 비었는지 확인하고 임의 시간 대기·확인 신호로 충돌을 사전에 회피한다.

  • ④ CSMA/CD(Collision Detection)는 유선 랜에서 전송 중 충돌을 탐지·재전송한다.
구분 CSMA/CD CSMA/CA
환경 유선(Ethernet) 무선(Wi-Fi)
전략 충돌 탐지 후 중단 충돌 사전 회피

문 062. 다음 중 가장 약한 결합도(Coupling)는?

  • ① Common Coupling
  • ② Content Coupling
  • ③ External Coupling
  • ④ Stamp Coupling
정답 및 해설 보기

정답 ④

결합도는 강한 순으로 내용 > 공통 > 외부 > 제어 > 스탬프 > 자료 다. 보기 중 가장 약한 것은 스탬프(Stamp) 결합도다.

  • ② Content(내용) 결합도가 가장 강하다(최악).

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

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

c
#include <stdio.h>
int main(int argc, char *argv[]) {
    int a = 4;
    int b = 7;
    int C = a | b;
    printf("%d", C);
    return 0;
}
  • ① 3
  • ② 4
  • ③ 7
  • ④ 10
정답 및 해설 보기

정답 ③

| 는 비트 OR 연산이다. 4(0100) | 7(0111) = 0111 = 7.

이 코드의 출력은 7 이다.

문 064. 다음 파이썬(Python) 프로그램이 실행되었을 때의 결과는?

Python
class FourCal:
    def setdata(sel, fir, sec):
        sel.fir = fir
        sel.sec = sec
    def add(sel):
        result = sel.fir + sel.sec
        return result
a = FourCal()
a.setdata(4, 2)
print(a.add())
  • ① 0
  • ② 2
  • ③ 4
  • ④ 6
정답 및 해설 보기

정답 ④

setdata(4, 2) 로 객체 afir=4·sec=2가 설정되고, add()fir + sec = 4 + 2 = 6 을 반환한다.

이 코드의 출력은 6 이다. (첫 매개변수 이름은 sel이지만 관례상 self 역할을 그대로 한다.)

문 065. 교착상태의 해결 방법 중 은행원 알고리즘(Banker's Algorithm)이 해당되는 기법은?

  • ① Detection
  • ② Avoidance
  • ③ Recovery
  • ④ Prevention
정답 및 해설 보기

정답 ②

은행원 알고리즘은 자원 할당 전에 안전 상태(Safe State) 인지 검사해 교착을 회피(Avoidance) 한다.

기법 전략
예방(Prevention) 교착 4조건 중 하나를 제거
회피(Avoidance) 안전 상태 검사(은행원 알고리즘)
탐지(Detection) 발생 후 주기적 검사
회복(Recovery) 발생 후 프로세스 강제 종료 등

문 066. CIDR(Classless Inter-Domain Routing) 표기로 203.241.132.82/27과 같이 사용되었다면, 해당 주소의 서브넷 마스크(Subnet Mask)는?

  • ① 255.255.255.0
  • ② 255.255.255.224
  • ③ 255.255.255.240
  • ④ 255.255.255.248
정답 및 해설 보기

정답 ②

/27 은 왼쪽부터 1이 27개(0이 5개)라는 뜻이다.

11111111.11111111.11111111.11100000 → 마지막 옥텟 11100000 = 128+64+32 = 224.

따라서 서브넷 마스크는 255.255.255.224 다.

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

Java
public class Operator {
    public static void main(String[] args) {
        int x=5, y=0, z=0;
        y = x++;
        z = --x;
        System.out.print(x + "," + y + "," + z);
    }
}
  • ① 5, 5, 5
  • ② 5, 6, 5
  • ③ 6, 5, 5
  • ④ 5, 6, 4
정답 및 해설 보기

정답 ①

  • y = x++; : 후위 증가 — 현재 값 5를 y에 대입 후 x는 6.
  • z = --x; : 전위 감소 — x를 5로 줄인 뒤 그 5를 z에 대입.
  • 최종 x=5, y=5, z=5.

이 코드의 출력은 5,5,5 다.

문 068. 프로세스 적재 정책과 관련한 설명으로 틀린 것은?

  • ① 반복, 스택, 부프로그램은 시간 지역성(Temporal Locality)과 관련이 있다.
  • ② 공간 지역성(Spatial Locality)은 프로세스가 어떤 페이지를 참조했다면 이후 가상 주소 공간상 그 페이지와 인접한 페이지들을 참조할 가능성이 높음을 의미한다.
  • ③ 일반적으로 페이지 교환에 보내는 시간보다 프로세스 수행에 보내는 시간이 더 크면 스레싱(Thrashing)이 발생한다.
  • ④ 스레싱(Thrashing) 현상을 방지하기 위해서는 각 프로세스가 필요로 하는 프레임을 제공할 수 있어야 한다.
정답 및 해설 보기

정답 ③

①·②는 지역성, ④는 스레싱 방지책으로 옳다.

  • ③ 스레싱은 페이지 교환 시간 > 프로세스 수행 시간 일 때 발생한다. ③은 부등호를 반대로 서술해 틀렸다.

문 069. 프레임워크(Framework)에 대한 설명으로 옳은 것은?

  • ① 소프트웨어 구성에 필요한 기본 구조를 제공함으로써 재사용이 가능하게 해준다.
  • ② 소프트웨어 개발 시 구조가 잡혀 있기 때문에 확장이 불가능하다.
  • ③ 소프트웨어 아키텍처(Architecture)와 동일한 개념이다.
  • ④ 모듈화(Modularity)가 불가능하다.
정답 및 해설 보기

정답 ①

프레임워크는 기본 구조(뼈대)를 제공해 재사용을 가능하게 하는 반제품 소프트웨어다.

  • ② 정해진 규칙 안에서 확장 가능하다. ③ 아키텍처(추상 개념)와 동일하지 않다. ④ 모듈화를 지원한다.

💡 제어의 역전(IoC): 프레임워크가 내 코드를 호출(라이브러리는 반대).

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

Java
public class arrayl {
    public static void main(String[] args) {
        int cnt = 0;
        do {
            cnt++;
        } while (cnt < 0);
        if(cnt==1)
            cnt++;
        else
            cnt = cnt + 3;
        System.out.printf("%d",cnt);
    }
}
  • ① 2
  • ② 3
  • ③ 4
  • ④ 5
정답 및 해설 보기

정답 ①

do-while 은 본문을 최소 1회 실행한다.

  • do { cnt++; } → cnt=1, while(1 < 0) 거짓이라 종료.
  • if(cnt==1) 참 → cnt++ → cnt=2.

이 코드의 출력은 2 다.

문 071. 리눅스 Bash 쉘(Shell)에서 export와 관련한 설명으로 틀린 것은?

  • ① 변수를 출력하고자 할 때는 export를 사용해야 한다.
  • ② export가 매개 변수 없이 쓰일 경우 현재 설정된 환경변수들이 출력된다.
  • ③ 사용자가 생성하는 변수는 export 명령어 표시하지 않는 한 현재 쉘에 국한된다.
  • ④ 변수를 export 시키면 전역(Global) 변수처럼 되어 끝까지 기억된다.
정답 및 해설 보기

정답 ①

export 는 쉘 변수를 환경 변수로 만들어 자식 프로세스까지 상속시키는 명령이다(②·③·④는 옳다).

  • ① 변수 값을 출력할 때는 echo $변수명 을 쓴다. export는 출력용 명령이 아니다.

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

c
#include <stdio.h>
int main(int argc, char *argv[]) {
    char a;
    a = 'A' + 1;
    printf("%d", a);
    return 0;
}
  • ① 1
  • ② 11
  • ③ 66
  • ④ 98
정답 및 해설 보기

정답 ③

문자 'A' 의 아스키코드는 65다. a = 'A' + 1 = 66. %d 는 정수로 출력하므로 66 이 출력된다(%c 였다면 'B').

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

c
#include <stdio.h>
int main(int argc, char *argv[]) {
    int a[2][2] = {{11, 22},{44, 55}};
    int i, sum = 0;
    int *p;
    p=a[0];
    for(i=1; i<4; i++)
        sum += *(p + i);
    printf("%d", sum);
    return 0;
}
  • ① 55
  • ② 77
  • ③ 121
  • ④ 132
정답 및 해설 보기

정답 ③

2차원 배열은 메모리에 11, 22, 44, 55 로 연속 저장되고 p=a[0]11을 가리킨다.

  • i=1: *(p+1)=22 → sum=22
  • i=2: *(p+2)=44 → sum=66
  • i=3: *(p+3)=55 → sum=121

이 코드의 출력은 121 이다.

문 074. 페이징 기법에서 페이지 크기가 작아질수록 발생하는 현상이 아닌 것은?

  • ① 기억장소 이용 효율이 증가한다.
  • ② 입·출력 시간이 늘어난다.
  • ③ 내부 단편화가 감소한다.
  • ④ 페이지 맵 테이블의 크기가 감소한다.
정답 및 해설 보기

정답 ④

페이지 크기가 작아지면 내부 단편화 감소(③)·기억장소 효율 증가(①)·I/O 횟수 증가(②)가 나타난다.

  • ④ 페이지 수가 많아지므로 페이지 맵 테이블 크기는 증가한다. '감소'는 틀렸다.

문 075. 다음 중 가장 강한 응집도(Cohesion)는?

  • ① Sequential Cohesion
  • ② Procedural Cohesion
  • ③ Logical Cohesion
  • ④ Coincidental Cohesion
정답 및 해설 보기

정답 ①

응집도는 강한 순으로 기능 > 순차 > 통신 > 절차 > 시간 > 논리 > 우연 이다. 보기 중 가장 강한 것은 순차적(Sequential) 응집도다.

  • ④ 우연적(Coincidental)이 가장 약하다(최악).

🔑 암기 — 응집도(강→약) 기순통절시논우 (=우논시절통순기 역순).

문 076. TCP 프로토콜과 관련한 설명으로 틀린 것은?

  • ① 인접한 노드 사이의 프레임 전송 및 오류를 제어한다.
  • ② 흐름 제어(Flow Control)의 기능을 수행한다.
  • ③ 전이중(Full Duplex) 방식의 양방향 가상회선을 제공한다.
  • ④ 전송 데이터와 응답 데이터를 함께 전송할 수 있다.
정답 및 해설 보기

정답 ①

TCP는 전송 계층(4계층) 프로토콜로 흐름 제어(②)·전이중(③)·피기배킹(④)을 수행한다.

  • ① '인접 노드 간 프레임 전송 및 오류 제어'는 데이터 링크 계층(2계층) 의 역할이다. TCP의 데이터 단위는 세그먼트, 링크 계층은 프레임이다.

문 077. C 언어에서 연산자 우선 순위가 높은 것에서 낮은 것으로 바르게 나열된 것은?

㉠ () · ㉡ == · ㉢ < · ㉣ << · ㉤ ∥ · ㉥ /

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

정답 ①

C 연산자 우선순위(높음→낮음): 괄호 () > 산술 / > 시프트 << > 관계 < > 등가 == > 논리 (||).

기호로 나열하면 ㉠ → ㉥ → ㉣ → ㉢ → ㉡ → ㉤ 이므로 ①이다.

문 078. C 언어 라이브러리 중 stdlib.h에 대한 설명으로 옳은 것은?

  • ① 문자열을 수치 데이터로 바꾸는 문자 변환함수와 수치를 문자열로 바꿔주는 변환함수 등이 있다.
  • ② 문자열 처리 함수로 strlen( )이 포함되어 있다.
  • ③ 표준 입출력 라이브러리이다.
  • ④ 삼각 함수, 제곱근, 지수 등 수학적인 함수를 내장 하고 있다.
정답 및 해설 보기

정답 ①

stdlib.h 는 문자열↔숫자 변환(atoi·atof), 동적 메모리(malloc·free), 난수(rand) 등 범용 함수를 담는다.

  • strlen()string.h. ③ 표준 입출력은 stdio.h. ④ 수학 함수는 math.h.

문 079. 자바스크립트(JavaScript)와 관련한 설명으로 틀린 것은?

  • ① 프로토타입(Prototype)의 개념이 존재한다.
  • ② 클래스 기반으로 객체 상속을 지원한다.
  • ③ Prototype Link와 Prototype Object를 활용할 수 있다.
  • ④ 객체지향 언어이다.
정답 및 해설 보기

정답 ②

자바스크립트는 객체지향 언어(④)이지만 클래스가 아니라 프로토타입 기반(Prototype-based) 으로 상속을 구현한다(①·③).

  • ② '클래스 기반으로 상속을 지원한다'가 틀렸다. ES6의 class 는 문법적 설탕일 뿐 내부는 프로토타입 기반이다.

문 080. OSI 7계층 중 네트워크 계층에 대한 설명으로 틀린 것은?

  • ① 패킷을 발신지로부터 최종 목적지까지 전달하는 책임을 진다.
  • ② 한 노드로부터 다른 노드로 프레임을 전송하는 책임을 진다.
  • ③ 패킷에 발신지와 목적지의 논리 주소를 추가한다.
  • ④ 라우터 또는 교환기는 패킷 전달을 위해 경로를 지정하거나 교환 기능을 제공한다.
정답 및 해설 보기

정답 ②

네트워크 계층(3계층)은 경로 설정(라우팅)·논리 주소(IP) 부여로 패킷을 최종 목적지까지 전달한다(①·③·④).

  • ② '한 노드에서 다른 노드로 프레임 전송'은 데이터 링크 계층(2계층) 의 역할이다. 네트워크 계층의 데이터 단위는 패킷이다.

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

문 081. 다음 내용이 설명하는 것은?

  • 네트워크상에 광채널 스위치의 이점인 고속 전송과 장거리 연결 및 멀티 프로토콜 기능을 활용
  • 각기 다른 운영체제를 가진 여러 기종들이 네트워크 상에서 동일 저장장치의 데이터를 공유하게 함으로써, 여러 개의 저장장치나 백업 장비를 단일화시킨 시스템
  • ① SAN
  • ② MBR
  • ③ NAC
  • ④ NIC
정답 및 해설 보기

정답 ①

여러 저장장치를 스토리지 전용 네트워크로 묶어 여러 기종이 공유하고 백업 장비를 단일화한 시스템은 SAN(Storage Area Network) 이다.

  • ② MBR: 마스터 부트 레코드. ③ NAC: 네트워크 접근 제어. ④ NIC: 랜카드.

💡 스토리지 연결: DAS(직접 연결)·NAS(LAN, 파일 단위)·SAN(전용망, 블록 단위).

문 082. SSH(Secure Shell)에 대한 설명으로 틀린 것은?

  • ① SSH의 기본 네트워크 포트는 220번을 사용한다.
  • ② 전송되는 데이터는 암호화된다.
  • ③ 키를 통한 인증은 클라이언트의 공개키를 서버에 등록해야 한다.
  • ④ 서로 연결되어 있는 컴퓨터 간 원격 명령 실행이나 셀 서비스 등을 수행한다.
정답 및 해설 보기

정답 ①

SSH의 기본 포트는 22번 이다. 220번이 아니다. ②·③·④는 옳다.

🔑 암기 — 주요 포트: SSH 22 · Telnet 23 · HTTP 80 · HTTPS 443 · FTP 20/21.

문 083. CBD(Component Based Development) SW 개발 표준 산출물 중 분석 단계에 해당하는 것은?

  • ① 클래스 설계서
  • ② 통합 시험 결과서
  • ③ 프로그램 코드
  • ④ 사용자 요구사항 정의서
정답 및 해설 보기

정답 ④

분석 단계는 '무엇을 만들까'를 정의하므로 사용자 요구사항 정의서가 산출물이다.

  • ① 클래스 설계서: 설계 단계. ③ 프로그램 코드: 구현 단계. ② 통합 시험 결과서: 테스트 단계.

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

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

정답 ③

'군대 보안 레벨'·'기밀성'·'상위 읽기 금지(No Read Up)'·'하위 쓰기 금지(No Write Down)'는 Bell-Lapadula 모델(기밀성 보장)의 규칙이다.

모델 목표 규칙
Bell-Lapadula 기밀성 No Read Up · No Write Down
Biba 무결성 No Read Down · No Write Up

문 085. 하둡(Hadoop)과 관계형 데이터베이스 간에 데이터를 전송할 수 있도록 설계된 도구는?

  • ① Apnic
  • ② Topology
  • ③ Sqoop
  • ④ SDB
정답 및 해설 보기

정답 ③

Sqoop(SQL-to-Hadoop)은 관계형 DB(RDBMS)와 하둡(HDFS) 간에 데이터를 대량 Import/Export 하는 도구다.

  • ① Apnic: 아·태 IP 주소 관리 기관. ② Topology: 네트워크 연결 구조.

문 086. 라우팅 프로토콜인 OSPF(Open Shortest Path First)에 대한 설명으로 옳지 않은 것은?

  • ① 네트워크 변화에 신속하게 대처할 수 있다.
  • ② 거리 벡터 라우팅 프로토콜이라고 한다.
  • ③ 멀티캐스팅을 지원한다.
  • ④ 최단 경로 탐색에 Dijkstra 알고리즘을 사용한다.
정답 및 해설 보기

정답 ②

OSPF는 링크 상태(Link-State) 라우팅 프로토콜로, 변화에 신속 대처(①)·멀티캐스팅(③)·Dijkstra 최단 경로(④)를 지원한다.

  • ② '거리 벡터(Distance Vector)'는 RIP의 방식이다. OSPF는 링크 상태다.

문 087. 소프트웨어 비용 추정 모형(Estimation Models)이 아닌 것은?

  • ① COCOMO
  • ② Putnam
  • ③ Function-Point
  • ④ PERT
정답 및 해설 보기

정답 ④

비용 추정 모형: COCOMO(①)·Putnam(②)·기능 점수(FP, ③).

  • ④ PERT는 비용 산정이 아니라 프로젝트 일정 관리 기법이다(낙관·기대·비관치로 완료 시점 예측).

문 088. 코드의 기입 과정에서 원래 '12536'으로 기입되어야 하는데 '12936'으로 표기되었을 경우, 어떤 코드 오류에 해당하는가?

  • ① Addition Error
  • ② Omission Error
  • ③ Sequence Error
  • ④ Transcription Error
정답 및 해설 보기

정답 ④

한 글자('5'→'9')를 잘못 옮겨 쓴 오류는 Transcription Error(필사 오류) 다.

  • ② Omission(생략): 문자 빠뜨림. ① Addition(추가): 문자 더 씀. 인접 두 문자 순서 바뀜은 Transposition(전위) 오류.

문 089. ISO 12207 표준의 기본 생명주기의 주요 프로세스에 해당하지 않는 것은?

  • ① 획득 프로세스
  • ② 개발 프로세스
  • ③ 성능평가 프로세스
  • ④ 유지보수 프로세스
정답 및 해설 보기

정답 ③

ISO 12207 기본 생명주기 프로세스는 획득·공급·개발·운영·유지보수 5가지다.

  • ③ '성능평가'는 기본 생명주기의 주요 프로세스가 아니다.

문 090. 소프트웨어 비용 산정 기법 중 개발 유형으로 Organic, Semi-detached, Embedded로 구분되는 것은?

  • ① PUTNAM
  • ② COCOMO
  • ③ FP
  • ④ SLIM
정답 및 해설 보기

정답 ②

개발 유형을 Organic(조직형)·Semi-detached(반분리형)·Embedded(내장형) 로 나누는 모델은 COCOMO 다.

문 091. SPICE 모델의 프로세스 수행 능력 수준의 단계별 설명이 틀린 것은?

  • ① 수준 7 - 미완성 단계
  • ② 수준 5 - 최적화 단계
  • ③ 수준 4 - 예측 단계
  • ④ 수준 3 - 확립 단계
정답 및 해설 보기

정답 ①

SPICE(ISO 15504) 수행 능력 수준은 0~5 총 6단계다: 0 불완전·1 수행·2 관리·3 확립·4 예측·5 최적화.

  • ① '수준 7'은 존재하지 않는다(미완성은 수준 0). ②·③·④는 옳다.

문 092. PC, TV, 휴대폰에서 원하는 콘텐츠를 끊김 없이 자유롭게 이용할 수 있는 서비스는?

  • ① Memristor
  • ② MEMS
  • ③ SNMP
  • ④ N-Screen
정답 및 해설 보기

정답 ④

여러 기기(N개 Screen)에서 하나의 콘텐츠를 끊김 없이 이어 쓰는 서비스는 N-Screen 이다.

  • ① Memristor: 차세대 메모리 소자. ② MEMS: 초소형 정밀기계. ③ SNMP: 네트워크 관리 프로토콜.

문 093. 해시(Hash) 기법에 대한 설명으로 틀린 것은?

  • ① 임의의 길이의 입력 데이터를 받아 고정된 길이의 해시 값으로 변환한다.
  • ② 주로 공개키 암호화 방식에서 키 생성을 위해 사용한다.
  • ③ 대표적인 해시 알고리즘으로 HAVAL, SHA-1 등이 있다.
  • ④ 해시 함수는 일방향 함수(One-way function)이다.
정답 및 해설 보기

정답 ②

해시는 임의 길이 입력을 고정 길이 값으로 변환(①)하는 일방향 함수(④)로, 무결성 검증·전자서명에 쓰인다.

  • ② 공개키의 키 생성은 별도 수학 알고리즘(소인수분해 등)으로 이뤄진다. 해시는 키 생성에 쓰이지 않는다.

문 094. IPSec(IP Security)에 대한 설명으로 틀린 것은?

  • ① 암호화 수행 시 일방향 암호화만 지원한다.
  • ② ESP는 발신지 인증, 데이터 무결성, 기밀성 모두를 보장한다.
  • ③ 운영 모드는 Tunnel 모드와 Transport 모드로 분류된다.
  • ④ AH는 발신지 호스트를 인증하고, IP 패킷의 무결성을 보장한다.
정답 및 해설 보기

정답 ①

암호화는 복호화가 필요한 양방향 이다. '일방향'은 해시 함수의 특징이다.

  • ② ESP: 인증·무결성·기밀성. ④ AH: 인증·무결성(기밀성 제외). ③ Tunnel/Transport 모드로 분류된다.

문 095. 메모리상에서 프로그램의 복귀 주소와 변수 사이에 특정 값을 저장해 두었다가 그 값이 변경되었을 경우 오버플로우 상태로 가정하여 프로그램 실행을 중단하는 기술은?

  • ① Stack Guard
  • ② Bridge
  • ③ ASLR
  • ④ FIN
정답 및 해설 보기

정답 ①

복귀 주소 앞에 카나리(Canary) 값을 두고 변조 여부를 검사해 스택 버퍼 오버플로우를 탐지·차단하는 기술은 Stack Guard 다.

  • ③ ASLR: 메모리 주소를 실행마다 랜덤화하는 별개의 방어 기법.

문 096. 침입차단 시스템(방화벽) 중 다음과 같은 형태의 구축 유형은?

외부 Internet이 라우터를 거쳐 버스형 네트워크(Server 3대와 Bastion Host)에 연결되고, 다시 내부 라우터를 통해 PC 3대로 이어지는 방화벽 구조

  • ① Block Host
  • ② Tree Host
  • ③ Screened Subnet
  • ④ Ring Homed
정답 및 해설 보기

정답 ③

외부·내부 네트워크 사이에 완충 구간(DMZ)을 두고 두 개의 스크리닝 라우터 사이에 Bastion Host 를 배치한 구조는 Screened Subnet(스크린드 서브넷) 이다. 가장 강력한 보안을 제공하나 구현이 복잡하고 비용이 높다.

문 097. Secure OS의 보안 기능으로 거리가 먼 것은?

  • ① 식별 및 인증
  • ② 임의적 접근 통제
  • ③ 고가용성 지원
  • ④ 강제적 접근 통제
정답 및 해설 보기

정답 ③

Secure OS의 보안 기능: 식별·인증(①)·임의적 접근 통제(DAC, ②)·강제적 접근 통제(MAC, ④)·감사 기록 등.

  • ③ 고가용성(High Availability)은 무중단 서비스 능력으로, 안정성·가용성에 관한 것이지 보안 기능이 아니다.

문 098. 서버에 열린 포트 정보를 스캐닝해서 보안 취약점을 찾는데 사용하는 도구는?

  • ① type
  • ② mkdir
  • ③ ftp
  • ④ nmap
정답 및 해설 보기

정답 ④

열린 포트를 스캐닝해 취약점을 찾는 대표적 네트워크 스캐너는 nmap(Network Mapper) 이다.

  • ① type: 파일 내용 출력. ② mkdir: 디렉터리 생성. ③ ftp: 파일 전송 프로토콜.

문 099. 서로 다른 네트워크 대역에 있는 호스트들 상호 간에 통신할 수 있도록 해주는 네트워크 장비는?

  • ① L2 스위치
  • ② HIPO
  • ③ 라우터
  • ④ RAD
정답 및 해설 보기

정답 ③

서로 다른 네트워크 대역을 연결하고 최적 경로를 찾아주는 장비는 라우터(Router) 다.

  • ① L2 스위치는 같은 대역 내 MAC 주소 기반 연결. ② HIPO·④ RAD는 소프트웨어 개발 기법으로 네트워크 장비가 아니다.

문 100. 암호화 키와 복호화 키가 동일한 암호화 알고리즘은?

  • ① RSA
  • ② AES
  • ③ DSA
  • ④ ECC
정답 및 해설 보기

정답 ②

암호화 키 = 복호화 키인 대칭키 알고리즘을 찾으면 된다. AES(Advanced Encryption Standard) 가 대표적인 대칭키 알고리즘이다.

  • ① RSA·③ DSA·④ ECC는 모두 비대칭키(공개키) 알고리즘이다.

🔑 암기 — 대칭키: AES·DES·SEED·ARIA / 비대칭키: RSA·DSA·ECC·ElGamal.


이 회차 한 장 요약

과목 빈출·핵심 토픽 다시 볼 문항
Ⅰ 소프트웨어 설계 시스템 5요소·유스케이스/액터·요구사항 4단계(도분명확)·GoF 분류(생성/구조/행위)·UML 관계(실체화)·럼바우(객·동·기)·아키텍처 스타일 001·003·006·013·015·019
Ⅱ 소프트웨어 개발 정렬 시간복잡도(힙/병합 O(nlog₂n))·테스트 원칙(결함 집중)·화이트/블랙박스·형상관리 vs 빌드·분산 저장소(Git)·후위 표기·EAI 021·025·027·031·033·034
Ⅲ 데이터베이스 구축 SQL 분류(DDL/DML/DCL)·INTERSECT·설계 3단계·무결성 3종·정규화(두부이결다조)·관계대수(순수/일반)·차수/카디널리티·ACID 043·046·048·051·053·060
Ⅳ 프로그래밍 언어 활용 CSMA/CA·결합도(내공외제스자)/응집도(우논시절통순기)·비트/포인터 연산·CIDR·교착상태(은행원=회피)·지역성/스레싱·TCP/OSI 계층 062·063·066·073·075·080
Ⅴ 정보시스템 구축관리 SAN·SSH(22)·접근제어(벨-라파듈라)·OSPF(링크상태)·COCOMO/SPICE(0~5)·해시·IPSec(AH/ESP)·Stack Guard·방화벽(스크린드 서브넷)·대칭키(AES) 081·084·086·091·094·096·100

🎯 빈출 — 매 회차 단골: 결합도/응집도, 정규화, ACID, SQL 분류, GoF, 접근제어 모델(벨-라파듈라/비바), 대칭/비대칭키, OSI 계층.

⚠️ 함정 — 코드 추적(063·064·067·070·072·073), 계산(053·066), 보기 반대 진술(036 결합도 최대화·074 페이지 맵 테이블·091 수준 7), 포트/수치(082 SSH 22·076 TCP), 보기 순서 주의(098·100).

🔑 핵심 두문자 — 요구사항 도분명확 · 정규화 두부이결다조 · 응집도 우논시절통순기 · 결합도 내공외제스자 · 트랜잭션 ACID.

전체 목록 기출문제풀이

합격까지

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

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