📝 기출문제 전체 보기
정보처리기사 필기 2022년 2회차 기출 복원입니다. 각 문제 아래의 「정답·해설 보기」를 펼치면 정답과 해설이 나타나요. 실전 시험 환경(타이머·자동 채점·오답 누적)에서 풀어보고 싶다면 글 맨 아래 「직접 풀러가기」를 눌러주세요.
문제 1
4지선다UML 다이어그램 중 순차 다이어그램에 대한 설명으로 틀린 것은?
- 1.
객체 간의 동적 상호작용을 시간 개념을 중심으로 모델링 하는 것이다.
- 2.
주로 시스템의 정적 측면을 모델링하기 위해 사용한다.
- 3.
일반적으로 다이어그램의 수직 방향이 시간의 흐름을 나타낸다.
- 4.
회귀 메시지(Self-Message), 제어블록(Statement block) 등으로 구성된다.
정답·해설 보기▾
정답
2번
주로 시스템의 정적 측면을 모델링하기 위해 사용한다.
해설
정답: 2. 순차 다이어그램은 객체 간 메시지 교환을 시간 흐름에 따라 표현하는 동적 다이어그램이다. 정적 측면을 모델링하는 것은 클래스 다이어그램이다.
오답 풀이
- 1번: 동적 상호작용을 시간 중심으로 모델링하는 것이 맞다.
- 2번: 정적 측면 모델링은 클래스 다이어그램의 역할이므로 틀렸다.
- 3번: 수직 방향이 시간 흐름을 나타내는 것이 맞다.
- 4번: 회귀 메시지, 제어블록 등으로 구성되는 것이 맞다.
보충 개념 UML 다이어그램은 구조적(정적) 다이어그램과 행위적(동적) 다이어그램으로 나뉘며, 순차 다이어그램은 행위적 다이어그램에 속한다.
- 1.
문제 2
4지선다메시지 지향 미들웨어(Message-Oriented Middleware, MOM)에 대한 설명으로 틀린 것은?
- 1.
느리고 안정적인 응답보다는 즉각적인 응답이 필요한 온라인 업무에 적합하다.
- 2.
독립적인 애플리케이션을 하나의 통합된 시스템으로 묶기 위한 역할을 한다.
- 3.
송신측과 수신측의 연결 시 메시지 큐를 활용하는 방법이 있다.
- 4.
상이한 애플리케이션 간 통신을 비동기 방식으로 지원한다.
정답·해설 보기▾
정답
1번
느리고 안정적인 응답보다는 즉각적인 응답이 필요한 온라인 업무에 적합하다.
해설
정답: 1. MOM은 비동기 메시지 기반으로, 즉각적인 응답이 필요한 온라인 업무보다는 느리지만 안정적인 응답이 필요한 작업(대량 데이터 처리 등)에 적합하다.
오답 풀이
- 1번: 즉각적 응답 온라인 업무용이라는 설명은 반대이므로 틀렸다.
- 2번: 독립 애플리케이션을 통합하는 역할이 맞다.
- 3번: 메시지 큐를 활용하는 것이 맞다.
- 4번: 비동기 통신을 지원하는 것이 맞다.
보충 개념 MOM은 메시지 큐를 통해 비동기·느슨한 결합 통신을 제공하며 IBM MQ 등이 대표적이다.
- 1.
문제 3
4지선다익스트림 프로그래밍에 대한 설명으로 틀린 것은?
- 1.
대표적인 구조적 방법론 중 하나이다.
- 2.
소규모 개발 조직이 불확실하고 변경이 많은 요구를 접하였을 때 적절한 방법이다.
- 3.
익스트림 프로그래밍을 구동시키는 원리는 상식적인 원리와 경험을 최대한 끌어 올리는 것이다.
- 4.
구체적인 실천 방법을 정의하고 있으며, 개발 문서 보다는 소스코드에 중점을 둔다.
정답·해설 보기▾
정답
1번
대표적인 구조적 방법론 중 하나이다.
해설
정답: 1. XP(eXtreme Programming)는 구조적 방법론이 아니라 애자일(Agile) 개발 방법론 중 하나이다.
오답 풀이
- 1번: 구조적 방법론이 아니라 애자일 방법론이므로 틀렸다.
- 2번: 소규모·변경이 많은 환경에 적합한 것이 맞다.
- 3번: 상식적 원리와 경험을 끌어올린다는 설명이 맞다.
- 4번: 문서보다 소스코드 중심이라는 설명이 맞다.
보충 개념 XP의 핵심 가치는 의사소통, 단순성, 피드백, 용기, 존중이며 페어 프로그래밍·테스트 주도 개발 등의 실천법을 가진다.
- 1.
문제 4
4지선다유스케이스(Use Case)의 구성 요소 간의 관계에 포함되지 않는 것은?
- 1.
연관
- 2.
확장
- 3.
구체화
- 4.
일반화
정답·해설 보기▾
정답
3번
구체화
해설
정답: 3. 유스케이스 관계에는 연관(Association), 확장(Extend), 포함(Include), 일반화(Generalization)가 있으며, 구체화(Realization)는 포함되지 않는다.
오답 풀이
- 1번: 연관은 유스케이스와 액터를 연결하는 관계로 포함된다.
- 2번: 확장은 선택적 기능을 표현하는 관계로 포함된다.
- 3번: 구체화는 인터페이스 구현 관계로 유스케이스 관계가 아니므로 정답이다.
- 4번: 일반화는 상속 관계로 포함된다.
보충 개념 유스케이스 다이어그램의 관계는 연관, 포함, 확장, 일반화 네 가지로 정리된다.
- 1.
문제 5
4지선다요구사항 분석에서 비기능적(Nonfunctional) 요구에 대한 설명으로 옳은 것은?
- 1.
시스템의 처리량(Throughput), 반응 시간 등의 성능 요구나 품질 요구는 비기능적 요구에 해당하지 않는다.
- 2.
'차량 대여 시스템이 제공하는 모든 화면이 3초 이내에 사용자에게 보여야 한다'는 비기능적 요구이다.
- 3.
시스템 구축과 관련된 안전, 보안에 대한 요구사항들은 비기능적 요구에 해당하지 않는다.
- 4.
'금융 시스템은 조회, 인출, 입금, 송금의 기능이 있어야 한다'는 비기능적 요구이다.
정답·해설 보기▾
정답
2번
'차량 대여 시스템이 제공하는 모든 화면이 3초 이내에 사용자에게 보여야 한다'는 비기능적 요구이다.
해설
정답: 2. 응답 시간(3초 이내) 같은 성능 제약은 대표적인 비기능적 요구사항이다.
오답 풀이
- 1번: 성능·품질 요구는 비기능적 요구에 해당하므로 틀렸다.
- 2번: 응답 시간 제약은 비기능적 요구이므로 옳다.
- 3번: 안전·보안 요구도 비기능적 요구에 해당하므로 틀렸다.
- 4번: 기능 목록을 나열한 것은 기능적 요구이다.
보충 개념 기능적 요구는 시스템이 무엇을 하는가, 비기능적 요구는 성능·보안·사용성 등 품질 속성을 정의한다.
- 1.
문제 6
4지선다정보공학 방법론에서 데이터베이스 설계의 표현으로 사용하는 모델링 언어는?
- 1.
Package Diagram
- 2.
State Transition Diagram
- 3.
Deployment Diagram
- 4.
Entity-Relationship Diagram
정답·해설 보기▾
정답
4번
Entity-Relationship Diagram
해설
정답: 4. 데이터베이스 설계는 개체-관계 다이어그램(ERD)으로 표현한다.
오답 풀이
- 1번: 패키지 다이어그램은 모듈 그룹화를 표현한다.
- 2번: 상태 전이 다이어그램은 객체의 상태 변화를 표현한다.
- 3번: 배치 다이어그램은 하드웨어 배치를 표현한다.
- 4번: ERD는 개체와 관계를 표현하는 DB 설계 모델이므로 정답이다.
보충 개념 ERD는 개체(Entity), 속성(Attribute), 관계(Relationship)로 데이터 구조를 모델링한다.
- 1.
문제 7
4지선다미들웨어(Middleware)에 대한 설명으로 틀린 것은?
- 1.
여러 운영체제에서 응용 프로그램들 사이에 위치한 소프트웨어이다.
- 2.
미들웨어의 서비스 이용을 위해 사용자가 정보 교환 방법 등의 내부 동작을 쉽게 확인할 수 있어야 한다.
- 3.
소프트웨어 컴포넌트를 연결하기 위한 준비된 인프라 구조를 제공한다.
- 4.
여러 컴포넌트를 1대 1, 1대 다, 다대 다 등 여러 가지 형태로 연결이 가능하다.
정답·해설 보기▾
정답
2번
미들웨어의 서비스 이용을 위해 사용자가 정보 교환 방법 등의 내부 동작을 쉽게 확인할 수 있어야 한다.
해설
정답: 2. 미들웨어는 내부 동작을 숨기고(투명성) 사용자가 세부 구현을 알 필요 없이 서비스를 이용할 수 있게 한다.
오답 풀이
- 1번: 응용 프로그램 사이에 위치하는 소프트웨어가 맞다.
- 2번: 내부 동작을 쉽게 확인해야 한다는 설명은 투명성 원칙에 어긋나므로 틀렸다.
- 3번: 컴포넌트 연결 인프라를 제공하는 것이 맞다.
- 4번: 다양한 형태의 연결이 가능한 것이 맞다.
보충 개념 미들웨어는 분산 시스템의 복잡성을 감추는 투명성을 제공하는 것이 핵심 역할이다.
- 1.
문제 8
4지선다UI의 설계 지침으로 틀린 것은?
- 1.
이해하기 편하고 쉽게 사용할 수 있는 환경을 제공해야 한다.
- 2.
주요 기능을 메인 화면에 노출하여 조작이 쉽도록 하여야 한다.
- 3.
치명적인 오류에 대한 부정적인 사항은 사용자가 인지할 수 없도록 한다.
- 4.
사용자의 직무, 연령, 성별 등 다양한 계층을 수용하여야 한다.
정답·해설 보기▾
정답
3번
치명적인 오류에 대한 부정적인 사항은 사용자가 인지할 수 없도록 한다.
해설
정답: 3. 치명적 오류는 사용자가 명확히 인지하고 대처할 수 있도록 알려야 하며, 숨겨서는 안 된다.
오답 풀이
- 1번: 이해하기 쉬운 환경 제공은 올바른 지침이다.
- 2번: 주요 기능 노출은 올바른 지침이다.
- 3번: 치명적 오류를 인지 못 하게 한다는 설명은 잘못되었으므로 정답이다.
- 4번: 다양한 계층 수용은 올바른 지침이다.
보충 개념 UI 설계 원칙에는 직관성, 유효성, 학습성, 유연성이 있으며 오류는 명확히 표시해야 한다.
- 1.
문제 9
4지선다객체지향 개념에서 다형성(Polymorphism)과 관련한 설명으로 틀린 것은?
- 1.
다형성은 현재 코드를 변경하지 않고 새로운 클래스를 쉽게 추가할 수 있게 한다.
- 2.
다형성이란 여러 가지 형태를 가지고 있다는 의미로, 여러 형태를 받아들일 수 있는 특징을 말한다.
- 3.
메소드 오버라이딩(Overriding)은 상위 클래스에서 정의한 일반 메소드의 구현을 하위 클래스에서 무시하고 재정의할 수 있다.
- 4.
메소드 오버로딩(Overloading)의 경우 매개 변수 타입은 동일하지만 메소드명을 다르게 함으로써 구현, 구분할 수 있다.
정답·해설 보기▾
정답
4번
메소드 오버로딩(Overloading)의 경우 매개 변수 타입은 동일하지만 메소드명을 다르게 함으로써 구현, 구분할 수 있다.
해설
정답: 4. 오버로딩은 메소드명은 동일하고 매개변수의 타입이나 개수를 다르게 하여 구분하는 것이다.
오답 풀이
- 1번: 다형성으로 코드 변경 없이 확장 가능한 것이 맞다.
- 2번: 여러 형태를 받아들이는 특징이 맞다.
- 3번: 오버라이딩은 상위 클래스 메소드를 재정의하는 것이 맞다.
- 4번: 오버로딩은 메소드명이 같고 매개변수가 달라야 하므로 설명이 반대로 되어 틀렸다.
보충 개념 오버라이딩은 상속 관계에서 재정의, 오버로딩은 같은 이름의 메소드를 매개변수로 구분하는 것이다.
- 1.
문제 10
4지선다소프트웨어 개발 영역을 결정하는 요소 중 다음 사항과 관계있는 것은?
소프트웨어에 의해 간접적으로 제어되는 장치와 소프트웨어를 실행하는 하드웨어, 사용하는 다른 소프트웨어를 사용하기 위한 외부 연결
- 1.
기능(Function)
- 2.
성능(Performance)
- 3.
제약 조건(Constraint)
- 4.
인터페이스(Interface)
정답·해설 보기▾
정답
4번
인터페이스(Interface)
해설
정답: 4. 장치, 하드웨어, 다른 소프트웨어와의 외부 연결은 인터페이스(Interface)에 해당한다.
오답 풀이
- 1번: 기능은 소프트웨어가 수행하는 작업을 의미한다.
- 2번: 성능은 처리 속도·반응 시간을 의미한다.
- 3번: 제약 조건은 개발상의 제한을 의미한다.
- 4번: 외부 장치·하드웨어·소프트웨어 연결은 인터페이스이므로 정답이다.
보충 개념 소프트웨어 개발 영역(Scope)은 기능, 성능, 제약 조건, 인터페이스, 신뢰도 등으로 정의된다.
- 1.
문제 11
4지선다객체에 대한 설명으로 틀린 것은?
- 1.
객체는 상태, 동작, 고유 식별자를 가진 모든 것이라 할 수 있다.
- 2.
객체는 공통 속성을 공유하는 클래스들의 집합이다.
- 3.
객체는 필요한 자료 구조와 이에 수행되는 함수들을 가진 하나의 독립된 존재이다.
- 4.
객체의 상태는 속성값에 의해 정의된다.
정답·해설 보기▾
정답
2번
객체는 공통 속성을 공유하는 클래스들의 집합이다.
해설
정답: 2. 공통 속성을 공유하는 객체들의 집합이 클래스이지, 객체가 클래스들의 집합인 것은 아니다.
오답 풀이
- 1번: 객체는 상태·동작·식별자를 가지는 것이 맞다.
- 2번: 클래스와 객체의 관계가 반대로 서술되어 틀렸다.
- 3번: 자료 구조와 함수를 가진 독립된 존재가 맞다.
- 4번: 객체 상태는 속성값으로 정의되는 것이 맞다.
보충 개념 클래스는 객체의 틀(템플릿)이고, 객체는 클래스로부터 생성된 인스턴스이다.
- 1.
문제 12
4지선다속성과 관련된 연산(Operation)을 클래스 안에 묶어서 하나로 취급하는 것을 의미하는 객체지향 개념은?
- 1.
Inheritance
- 2.
Class
- 3.
Encapsulation
- 4.
Association
정답·해설 보기▾
정답
3번
Encapsulation
해설
정답: 3. 속성과 연산을 하나로 묶는 것은 캡슐화(Encapsulation)이다.
오답 풀이
- 1번: 상속(Inheritance)은 상위 클래스 특성을 물려받는 것이다.
- 2번: 클래스(Class)는 객체의 틀이다.
- 3번: 속성과 연산을 묶는 것은 캡슐화이므로 정답이다.
- 4번: 연관(Association)은 객체 간 관계이다.
보충 개념 캡슐화는 정보 은닉을 통해 객체 내부 구현을 감추고 외부에는 인터페이스만 노출한다.
- 1.
문제 13
4지선다애자일(Agile) 프로세스 모델에 대한 설명으로 틀린 것은?
- 1.
변화에 대한 대응보다는 자세한 계획을 중심으로 소프트웨어를 개발한다.
- 2.
프로세스와 도구 중심이 아닌 개개인과의 상호소통을 통해 의견을 수렴한다.
- 3.
협상과 계약보다는 고객과의 협력을 중시한다.
- 4.
문서 중심이 아닌, 실행 가능한 소프트웨어를 중시한다.
정답·해설 보기▾
정답
1번
변화에 대한 대응보다는 자세한 계획을 중심으로 소프트웨어를 개발한다.
해설
정답: 1. 애자일은 자세한 계획보다 변화에 대한 대응을 중시한다.
오답 풀이
- 1번: 계획 중심이라는 설명은 애자일 선언에 반대되므로 틀렸다.
- 2번: 개인과 상호작용을 중시하는 것이 맞다.
- 3번: 고객과의 협력을 중시하는 것이 맞다.
- 4번: 작동하는 소프트웨어를 중시하는 것이 맞다.
보충 개념 애자일 선언문은 개인과 상호작용, 작동하는 소프트웨어, 고객과의 협력, 변화 대응을 더 중시한다.
- 1.
문제 14
4지선다명백한 역할을 가지고 독립적으로 존재할 수 있는 시스템의 부분으로 넓은 의미에서는 재사용되는 모든 단위라고 볼 수 있으며, 인터페이스를 통해서만 접근할 수 있는 것은?
- 1.
Model
- 2.
Sheet
- 3.
Component
- 4.
Cell
정답·해설 보기▾
정답
3번
Component
해설
정답: 3. 독립적으로 재사용 가능하고 인터페이스로만 접근하는 단위는 컴포넌트(Component)이다.
오답 풀이
- 1번: 모델(Model)은 데이터·비즈니스 로직을 담당하는 계층이다.
- 2번: 시트(Sheet)는 해당 개념과 무관하다.
- 3번: 인터페이스로 접근하는 재사용 단위는 컴포넌트이므로 정답이다.
- 4번: 셀(Cell)은 해당 개념과 무관하다.
보충 개념 컴포넌트 기반 개발(CBD)은 재사용 가능한 컴포넌트를 조립하여 소프트웨어를 구축한다.
- 1.
문제 15
4지선다GoF(Gang of Four) 디자인 패턴을 생성, 구조, 행동 패턴의 세 그룹으로 분류할 때, 구조 패턴이 아닌 것은?
- 1.
Adapter 패턴
- 2.
Bridge 패턴
- 3.
Builder 패턴
- 4.
Proxy 패턴
정답·해설 보기▾
정답
3번
Builder 패턴
해설
정답: 3. Builder는 생성(Creational) 패턴이며, Adapter·Bridge·Proxy는 구조(Structural) 패턴이다.
오답 풀이
- 1번: Adapter는 구조 패턴이다.
- 2번: Bridge는 구조 패턴이다.
- 3번: Builder는 생성 패턴이므로 구조 패턴이 아니어서 정답이다.
- 4번: Proxy는 구조 패턴이다.
보충 개념 GoF 생성 패턴에는 Factory Method, Abstract Factory, Builder, Prototype, Singleton이 있다.
- 1.
문제 16
4지선다UI와 관련된 기본 개념 중 하나로, 시스템의 상태와 사용자의 지시에 대한 효과를 보여주어 사용자가 명령에 대한 진행 상황과 표시된 내용을 해석할 수 있도록 도와주는 것은?
- 1.
Feedback
- 2.
Posture
- 3.
Module
- 4.
Hash
정답·해설 보기▾
정답
1번
Feedback
해설
정답: 1. 사용자의 명령에 대한 효과와 진행 상황을 보여주는 것은 피드백(Feedback)이다.
오답 풀이
- 1번: 명령 효과·진행 상황을 보여주는 것은 피드백이므로 정답이다.
- 2번: Posture는 자세·태도로 해당 개념과 무관하다.
- 3번: Module은 기능 단위를 의미한다.
- 4번: Hash는 해시 함수와 관련된 개념이다.
보충 개념 피드백은 사용자에게 시스템 상태와 작업 결과를 즉시 전달하여 사용성을 높인다.
- 1.
문제 17
4지선다UI의 종류로 멀티 터치(Multi-touch), 동작 인식(Gesture Recognition) 등 사용자의 자연스러운 움직임을 인식하여 서로 주고받는 정보를 제공하는 사용자 인터페이스를 의미하는 것은?
- 1.
GUI(Graphical User Interface)
- 2.
OUI(Organic User Interface)
- 3.
NUI(Natural User Interface)
- 4.
CLI(Command Line Interface)
정답·해설 보기▾
정답
3번
NUI(Natural User Interface)
해설
정답: 3. 멀티 터치·동작 인식 등 자연스러운 움직임 기반 인터페이스는 NUI(Natural User Interface)이다.
오답 풀이
- 1번: GUI는 그래픽 요소로 조작하는 인터페이스이다.
- 2번: OUI는 모든 사물이 입출력이 되는 유기적 인터페이스이다.
- 3번: 자연스러운 움직임 인식 인터페이스는 NUI이므로 정답이다.
- 4번: CLI는 명령어 입력 기반 인터페이스이다.
보충 개념 NUI는 터치, 음성, 제스처 등 인간의 자연스러운 행동을 입력으로 사용한다.
- 1.
문제 18
4지선다소프트웨어 모델링과 관련한 설명으로 틀린 것은?
- 1.
모델링 작업의 결과물은 다른 모델링 작업에 영향을 줄 수 없다.
- 2.
구조적 방법론에서는 DFD(Data Flow Diagram), DD(Data Dictionary) 등을 사용하여 요구 사항의 결과를 표현한다.
- 3.
객체지향 방법론에서는 UML 표기법을 사용한다.
- 4.
소프트웨어 모델을 사용할 경우 개발될 소프트웨어에 대한 이해도 및 이해 당사자 간의 의사소통 향상에 도움이 된다.
정답·해설 보기▾
정답
1번
모델링 작업의 결과물은 다른 모델링 작업에 영향을 줄 수 없다.
해설
정답: 1. 모델링 결과물은 후속 모델링 작업에 영향을 주며 서로 연계된다.
오답 풀이
- 1번: 다른 모델링에 영향을 줄 수 없다는 설명은 틀렸다.
- 2번: 구조적 방법론의 DFD·DD 사용이 맞다.
- 3번: 객체지향 방법론의 UML 사용이 맞다.
- 4번: 모델링이 이해도와 의사소통에 도움 되는 것이 맞다.
보충 개념 모델링은 분석·설계 산출물을 점진적으로 정교화하며 단계 간 상호 영향을 준다.
- 1.
문제 19
4지선다유스케이스 다이어그램(Use Case Diagram)에 관련된 내용으로 틀린 것은?
- 1.
시스템과 상호작용하는 외부시스템은 액터로 파악해서는 안된다.
- 2.
유스케이스는 사용자 측면에서의 요구사항으로, 사용자가 원하는 목표를 달성하기 위해 수행할 내용을 기술한다.
- 3.
시스템 액터는 다른 프로젝트에서 이미 개발되어 사용되고 있으며, 본 시스템과 데이터를 주고받는 등 서로 연동되는 시스템을 말한다.
- 4.
액터가 인식할 수 없는 시스템 내부의 기능을 하나의 유스케이스로 파악해서는 안된다.
정답·해설 보기▾
정답
1번
시스템과 상호작용하는 외부시스템은 액터로 파악해서는 안된다.
해설
정답: 1. 시스템과 상호작용하는 외부 시스템도 액터(시스템 액터)로 파악할 수 있다.
오답 풀이
- 1번: 외부 시스템도 액터가 될 수 있으므로 틀렸다.
- 2번: 유스케이스가 사용자 목표를 기술하는 것이 맞다.
- 3번: 시스템 액터에 대한 설명이 맞다.
- 4번: 액터가 인식 못 하는 내부 기능은 유스케이스가 아니므로 맞다.
보충 개념 액터에는 사람뿐 아니라 외부 시스템·하드웨어 등도 포함될 수 있다.
- 1.
문제 20
4지선다소프트웨어 아키텍처 모델 중 MVC(Model-View-Controller)와 관련한 설명으로 틀린 것은?
- 1.
MVC 모델은 사용자 인터페이스를 담당하는 계층의 응집도를 높일 수 있고, 여러 개의 다른 UI를 만들어 그 사이에 결합도를 낮출 수 있다.
- 2.
모델(Model)은 뷰(View)와 제어(Controller) 사이에서 전달자 역할을 하며, 뷰마다 모델 서브시스템이 각각 하나씩 연결된다.
- 3.
뷰(View)는 모델(Model)에 있는 데이터를 사용자 인터페이스에 보이는 역할을 담당한다.
- 4.
제어(Controller)는 모델(Model)에 명령을 보냄으로써 모델의 상태를 변경할 수 있다.
정답·해설 보기▾
정답
2번
모델(Model)은 뷰(View)와 제어(Controller) 사이에서 전달자 역할을 하며, 뷰마다 모델 서브시스템이 각각 하나씩 연결된다.
해설
정답: 2. 전달자 역할은 컨트롤러가 담당하며, 모델은 데이터와 비즈니스 로직을 담당한다. 뷰마다 모델이 하나씩 연결되는 것도 아니다.
오답 풀이
- 1번: UI 계층 응집도를 높이고 결합도를 낮추는 것이 맞다.
- 2번: 모델이 전달자 역할이라는 설명은 컨트롤러의 역할이므로 틀렸다.
- 3번: 뷰가 모델 데이터를 화면에 표시하는 것이 맞다.
- 4번: 컨트롤러가 모델 상태를 변경하는 것이 맞다.
보충 개념 MVC에서 모델은 데이터, 뷰는 표현, 컨트롤러는 입력 처리와 흐름 제어를 담당한다.
- 1.
문제 21
4지선다통합 테스트(Integration Test)와 관련한 설명으로 틀린 것은?
- 1.
시스템을 구성하는 모듈의 인터페이스와 결합을 테스트하는 것이다.
- 2.
하향식 통합 테스트의 경우 넓이 우선(Breadth First) 방식으로 테스트를 할 모듈을 선택할 수 있다.
- 3.
상향식 통합 테스트의 경우 시스템 구조도의 최상위에 있는 모듈을 먼저 구현하고 테스트한다.
- 4.
모듈 간의 인터페이스와 시스템의 동작이 정상적으로 잘되고 있는지를 빨리 파악하고자 할 때 상향식 보다는 하향식 통합 테스트를 사용하는 것이 좋다.
정답·해설 보기▾
정답
3번
상향식 통합 테스트의 경우 시스템 구조도의 최상위에 있는 모듈을 먼저 구현하고 테스트한다.
해설
정답: 3. 최상위 모듈부터 테스트하는 것은 하향식(Top-down)이다. 상향식은 최하위 모듈부터 테스트한다.
오답 풀이
- 1번: 모듈 인터페이스와 결합을 테스트하는 것이 맞다.
- 2번: 하향식은 넓이 우선 방식을 사용할 수 있다.
- 3번: 상향식이 최상위부터라는 설명은 틀렸다.
- 4번: 시스템 동작을 빨리 파악할 때 하향식이 유리한 것이 맞다.
보충 개념 상향식 통합은 드라이버를, 하향식 통합은 스텁을 사용한다.
- 1.
문제 22
4지선다다음과 같이 레코드가 구성되어 있을 때, 이진 검색 방법으로 14를 찾을 경우 비교되는 횟수는?
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
- 1.
2
- 2.
3
- 3.
4
- 4.
5
정답·해설 보기▾
정답
2번
3
해설
정답: 2. 15개 레코드에서 14를 이진 검색하면 중간값 8(8번째) → 12(12번째) → 14(14번째)로 3회 비교한다.
오답 풀이
- 1번: 2회로는 14에 도달하지 못한다.
- 2번: 8 → 12 → 14 순으로 3회 비교하므로 정답이다.
- 3번: 4회는 필요 이상의 비교 횟수이다.
- 4번: 5회는 필요 이상의 비교 횟수이다.
보충 개념 이진 검색은 정렬된 데이터에서 중간값과 비교하며 탐색 범위를 절반씩 줄인다.
- 1.
문제 23
4지선다소프트웨어 공학에서 워크스루(Walkthrough)에 대한 설명으로 틀린 것은?
- 1.
사용사례를 확장하여 명세하거나 설계 다이어그램, 원시코드, 테스트 케이스 등에 적용할 수 있다.
- 2.
복잡한 알고리즘 또는 반복, 실시간 동작, 병행 처리와 같은 기능이나 동작을 이해하려고 할 때 유용하다.
- 3.
인스펙션(Inspection)과 동일한 의미를 가진다.
- 4.
단순한 테스트 케이스를 이용하여 프로덕트를 수작업으로 수행해 보는 것이다.
정답·해설 보기▾
정답
3번
인스펙션(Inspection)과 동일한 의미를 가진다.
해설
정답: 3. 워크스루와 인스펙션은 모두 검토 기법이지만 동일하지 않다. 인스펙션은 더 공식적이고 체계적이다.
오답 풀이
- 1번: 다양한 산출물에 적용 가능한 것이 맞다.
- 2번: 복잡한 동작 이해에 유용한 것이 맞다.
- 3번: 인스펙션과 동일하다는 설명은 틀렸다.
- 4번: 수작업으로 수행해 보는 것이 맞다.
보충 개념 워크스루는 비공식적 검토, 인스펙션은 체크리스트 기반의 공식적 검토 기법이다.
- 1.
문제 24
4지선다소프트웨어의 개발과정에서 소프트웨어의 변경사항을 관리하기 위해 개발된 일련의 활동을 뜻하는 것은?
- 1.
복호화
- 2.
형상관리
- 3.
저작권
- 4.
크랙
정답·해설 보기▾
정답
2번
형상관리
해설
정답: 2. 소프트웨어 변경사항을 관리하는 활동은 형상관리(Configuration Management)이다.
오답 풀이
- 1번: 복호화는 암호문을 평문으로 되돌리는 과정이다.
- 2번: 변경사항 관리 활동은 형상관리이므로 정답이다.
- 3번: 저작권은 지적 재산권 개념이다.
- 4번: 크랙은 소프트웨어 보호를 무력화하는 행위이다.
보충 개념 형상관리는 형상 식별, 형상 통제, 형상 감사, 형상 기록으로 구성된다.
- 1.
문제 25
4지선다테스트 케이스와 관련한 설명으로 틀린 것은?
- 1.
테스트의 목표 및 테스트 방법을 결정하기 전에 테스트 케이스를 작성해야 한다.
- 2.
프로그램에 결함이 있더라도 입력에 대해 정상적인 결과를 낼 수 있기 때문에 결함을 검사할 수 있는 테스트 케이스를 찾는 것이 중요하다.
- 3.
개발된 서비스가 정의된 요구 사항을 준수하는지 확인하기 위한 입력 값과 실행 조건, 예상 결과의 집합으로 볼 수 있다.
- 4.
테스트 케이스 실행이 통과되었는지 실패하였는지 판단하기 위한 기준을 테스트 오라클(Test Oracle)이라고 한다.
정답·해설 보기▾
정답
1번
테스트의 목표 및 테스트 방법을 결정하기 전에 테스트 케이스를 작성해야 한다.
해설
정답: 1. 테스트 케이스는 테스트 목표와 방법을 먼저 결정한 후에 작성해야 한다.
오답 풀이
- 1번: 목표·방법 결정 전에 작성한다는 순서가 틀렸다.
- 2번: 결함 검출 가능한 케이스를 찾는 것이 중요한 것이 맞다.
- 3번: 입력값·실행 조건·예상 결과 집합이라는 정의가 맞다.
- 4번: 테스트 오라클에 대한 설명이 맞다.
보충 개념 테스트는 계획 → 분석/설계 → 케이스 작성 → 실행 → 결과 평가 순으로 진행된다.
- 1.
문제 26
4지선다객체지향 개념을 활용한 소프트웨어 구현과 관련한 설명 중 틀린 것은?
- 1.
객체(Object)란 필요한 자료 구조와 수행되는 함수들을 가진 하나의 독립된 존재이다.
- 2.
JAVA에서 정보은닉(Information Hiding)을 표기할 때 private의 의미는 '공개'이다.
- 3.
상속(Inheritance)은 개별 클래스를 상속 관계로 묶음으로써 클래스 간의 체계화된 전체 구조를 파악하기 쉽다는 장점이 있다.
- 4.
같은 클래스에 속하는 개개의 객체이자 하나의 클래스에서 생성된 객체를 인스턴스(Instance)라고 한다.
정답·해설 보기▾
정답
2번
JAVA에서 정보은닉(Information Hiding)을 표기할 때 private의 의미는 '공개'이다.
해설
정답: 2. private는 '비공개'를 의미하며, 해당 클래스 내부에서만 접근할 수 있다.
오답 풀이
- 1번: 객체에 대한 정의가 맞다.
- 2번: private가 '공개'라는 설명은 틀렸다.
- 3번: 상속의 장점 설명이 맞다.
- 4번: 인스턴스에 대한 정의가 맞다.
보충 개념 Java 접근 제어자는 public(공개), protected, default, private(비공개) 순으로 접근 범위가 좁아진다.
- 1.
문제 27
4지선다DRM(Digital Rights Management)과 관련한 설명으로 틀린 것은?
- 1.
디지털 콘텐츠와 디바이스의 사용을 제한하기 위해 하드웨어 제조업자, 저작권자, 출판업자 등이 사용할 수 있는 접근 제어 기술을 의미한다.
- 2.
디지털 미디어의 생명 주기 동안 발생하는 사용 권한 관리, 과금, 유통 단계를 관리하는 기술로도 볼 수 있다.
- 3.
클리어링 하우스(Clearing House)는 사용자에게 콘텐츠 라이센스를 발급하고 권한을 부여해주는 시스템을 말한다.
- 4.
원본을 안전하게 유통하기 위한 전자적 보안은 고려하지 않기 때문에 불법 유통과 복제의 방지는 불가능하다.
정답·해설 보기▾
정답
4번
원본을 안전하게 유통하기 위한 전자적 보안은 고려하지 않기 때문에 불법 유통과 복제의 방지는 불가능하다.
해설
정답: 4. DRM은 전자적 보안을 통해 콘텐츠의 불법 유통과 복제를 방지하는 것이 핵심 목적이다.
오답 풀이
- 1번: 접근 제어 기술이라는 설명이 맞다.
- 2번: 권한·과금·유통 관리 기술이라는 설명이 맞다.
- 3번: 클리어링 하우스에 대한 설명이 맞다.
- 4번: 전자적 보안을 고려하지 않는다는 설명은 DRM 목적에 반하므로 틀렸다.
보충 개념 DRM은 콘텐츠를 암호화하고 라이선스로 사용 권한을 통제하여 불법 복제를 방지한다.
- 1.
문제 28
4지선다위험 모니터링의 의미로 옳은 것은?
- 1.
위험을 이해하는 것
- 2.
첫 번째 조치로 위험을 피할 수 있도록 하는 것
- 3.
위험 발생 후 즉시 조치하는 것
- 4.
위험 요소 징후들에 대하여 계속적으로 인지하는 것
정답·해설 보기▾
정답
4번
위험 요소 징후들에 대하여 계속적으로 인지하는 것
해설
정답: 4. 위험 모니터링은 위험 요소의 징후를 지속적으로 추적·인지하는 활동이다.
오답 풀이
- 1번: 위험을 이해하는 것은 위험 분석 단계이다.
- 2번: 위험을 피하는 것은 위험 회피 전략이다.
- 3번: 발생 후 즉시 조치하는 것은 위험 대응이다.
- 4번: 징후를 계속 인지하는 것이 모니터링이므로 정답이다.
보충 개념 위험 관리는 식별 → 분석 → 계획 → 모니터링 순으로 진행된다.
- 1.
문제 29
4지선다동시에 소스를 수정하는 것을 방지하며 다른 방향으로 진행된 개발 결과를 합치거나 변경 내용을 추적할 수 있는 소프트웨어 버전 관리 도구는?
- 1.
RCS(Revision Control System)
- 2.
RTS(Reliable Transfer Service)
- 3.
RPC(Remote Procedure Call)
- 4.
RVS(Relative Version System)
정답·해설 보기▾
정답
1번
RCS(Revision Control System)
해설
정답: 1. 소스 동시 수정을 방지하고 변경을 추적하는 버전 관리 도구는 RCS(Revision Control System)이다.
오답 풀이
- 1번: RCS는 버전 관리 도구이므로 정답이다.
- 2번: RTS는 신뢰성 있는 전송 서비스로 버전 관리와 무관하다.
- 3번: RPC는 원격 프로시저 호출 기술이다.
- 4번: RVS는 실제 존재하지 않는 명칭이다.
보충 개념 RCS는 파일 잠금 방식으로 동시 수정을 막는 초기 버전 관리 시스템이다.
- 1.
문제 30
4지선다화이트박스 테스트와 관련한 설명으로 틀린 것은?
- 1.
화이트박스 테스트의 이해를 위해 논리흐름도(Logic-Flow Diagram)를 이용할 수 있다.
- 2.
테스트 데이터를 이용해 실제 프로그램을 실행함으로써 오류를 찾는 동적 테스트(Dynamic Test)에 해당한다.
- 3.
프로그램의 구조를 고려하지 않기 때문에 테스트 케이스는 프로그램 또는 모듈의 요구나 명세를 기초로 결정한다.
- 4.
테스트 데이터를 선택하기 위하여 검증기준(Test Coverage)을 정한다.
정답·해설 보기▾
정답
3번
프로그램의 구조를 고려하지 않기 때문에 테스트 케이스는 프로그램 또는 모듈의 요구나 명세를 기초로 결정한다.
해설
정답: 3. 프로그램 구조를 고려하지 않고 명세를 기초로 하는 것은 블랙박스 테스트이다. 화이트박스는 내부 구조를 고려한다.
오답 풀이
- 1번: 논리흐름도를 이용하는 것이 맞다.
- 2번: 동적 테스트에 해당하는 것이 맞다.
- 3번: 구조를 고려하지 않는다는 설명은 블랙박스에 대한 것이므로 틀렸다.
- 4번: 검증 기준(커버리지)을 정하는 것이 맞다.
보충 개념 화이트박스 테스트에는 문장·분기·조건·경로 커버리지 등이 있다.
- 1.
문제 31
4지선다알고리즘과 관련한 설명으로 틀린 것은?
- 1.
주어진 작업을 수행하는 컴퓨터 명령어를 순서대로 나열한 것으로 볼 수 있다.
- 2.
검색(Searching)은 정렬이 되지 않은 데이터 혹은 정렬이 된 데이터 중에서 키값에 해당되는 데이터를 찾는 알고리즘이다.
- 3.
정렬(Sorting)은 흩어져있는 데이터를 키값을 이용하여 순서대로 열거하는 알고리즘이다.
- 4.
선형 검색은 검색을 수행하기 전에 반드시 데이터의 집합이 정렬되어 있어야 한다.
정답·해설 보기▾
정답
4번
선형 검색은 검색을 수행하기 전에 반드시 데이터의 집합이 정렬되어 있어야 한다.
해설
정답: 4. 선형 검색은 정렬 여부와 관계없이 처음부터 순차적으로 비교하므로 정렬이 필수가 아니다. 정렬이 필요한 것은 이진 검색이다.
오답 풀이
- 1번: 명령어를 순서대로 나열한 것이라는 설명이 맞다.
- 2번: 검색에 대한 정의가 맞다.
- 3번: 정렬에 대한 정의가 맞다.
- 4번: 선형 검색에 정렬이 필수라는 설명은 틀렸다.
보충 개념 선형(순차) 검색은 O(n), 이진 검색은 정렬된 데이터에서 O(log n)의 시간 복잡도를 가진다.
- 1.
문제 32
4지선다버블 정렬을 이용하여 다음 자료를 오름차순으로 정렬할 경우 PASS 1의 결과는?
9, 6, 7, 3, 5
- 1.
6, 9, 7, 3, 5
- 2.
3, 9, 6, 7, 5
- 3.
3, 6, 7, 9, 5
- 4.
6, 7, 3, 5, 9
정답·해설 보기▾
정답
4번
6, 7, 3, 5, 9
해설
정답: 4. 버블 정렬 PASS 1: (9,6)→6,9 / (9,7)→7,9 / (9,3)→3,9 / (9,5)→5,9 로 최댓값 9가 맨 뒤로 이동하여 6,7,3,5,9가 된다.
오답 풀이
- 1번: 인접 교환을 끝까지 진행하지 않은 중간 상태이다.
- 2번: 정렬 결과와 일치하지 않는다.
- 3번: 1패스만으로는 도달할 수 없는 상태이다.
- 4번: 최댓값 9가 맨 뒤로 간 6,7,3,5,9가 정답이다.
보충 개념 버블 정렬은 인접한 두 원소를 비교·교환하며, 1패스마다 최댓값이 맨 뒤에 확정된다.
- 1.
문제 33
4지선다다음은 인스펙션(Inspection) 과정을 표현한 것이다. (가)~(마)에 들어갈 말을 보기에서 찾아 바르게 연결한 것은?
<그림>
<보기> ㉠ 준비 ㉡ 사전 교육 ㉢ 인스펙션 회의 ㉣ 수정 ㉤ 후속 조치
- 1.
(가) - ㉡, (나) - ㉢
- 2.
(나) - ㉠, (다) - ㉢
- 3.
(다) - ㉢, (라) - ㉤
- 4.
(라) - ㉣, (마) - ㉢
정답·해설 보기▾
정답
2번
(나) - ㉠, (다) - ㉢
해설
정답: 2. 인스펙션 과정은 계획 → 사전교육(㉡) → 준비(㉠) → 인스펙션 회의(㉢) → 수정(㉣) → 후속조치(㉤) 순이다. 따라서 (가)=㉡, (나)=㉠, (다)=㉢, (라)=㉣, (마)=㉤이며, (나)-㉠, (다)-㉢ 연결이 옳다.
오답 풀이
- 1번: (가)는 ㉡(사전 교육)이고 (나)는 ㉠(준비)이므로 (나)-㉢은 틀렸다.
- 2번: (나)-㉠(준비), (다)-㉢(인스펙션 회의) 연결이 정확하므로 정답이다.
- 3번: (라)는 ㉣(수정)이어야 하므로 (라)-㉤은 틀렸다.
- 4번: (마)는 ㉤(후속 조치)이어야 하므로 (마)-㉢은 틀렸다.
보충 개념 인스펙션은 계획-사전교육-준비-인스펙션회의-수정-후속조치의 단계로 진행되는 공식 검토 기법이다.
- 1.
문제 34
4지선다소프트웨어를 보다 쉽게 이해할 수 있고 적은 비용으로 수정할 수 있도록 겉으로 보이는 동작의 변화 없이 내부구조를 변경하는 것은?
- 1.
Refactoring
- 2.
Architecting
- 3.
Specification
- 4.
Renewal
정답·해설 보기▾
정답
1번
Refactoring
해설
정답: 1. 외부 동작 변화 없이 내부 구조를 개선하는 것은 리팩토링(Refactoring)이다.
오답 풀이
- 1번: 외부 동작을 유지하며 내부를 개선하는 것은 리팩토링이므로 정답이다.
- 2번: 아키텍팅은 아키텍처를 설계하는 활동이다.
- 3번: 명세화는 요구사항을 정의하는 활동이다.
- 4번: Renewal은 표준 용어가 아니다.
보충 개념 리팩토링은 코드 가독성과 유지보수성을 높이기 위해 동작을 보존하며 구조를 정리한다.
- 1.
문제 35
4지선다단위 테스트(Unit Test)와 관련한 설명으로 틀린 것은?
- 1.
구현 단계에서 각 모듈의 개발을 완료한 후 개발자가 명세서의 내용대로 정확히 구현되었는지 테스트한다.
- 2.
모듈 내부의 구조를 구체적으로 볼 수 있는 구조적 테스트를 주로 시행한다.
- 3.
필요 데이터를 인자를 통해 넘겨주고, 테스트 완료 후 그 결과값을 받는 역할을 하는 가상의 모듈을 테스트 스텁(Stub)이라고 한다.
- 4.
테스트할 모듈을 호출하는 모듈도 있고, 테스트할 모듈이 호출하는 모듈도 있다.
정답·해설 보기▾
정답
3번
필요 데이터를 인자를 통해 넘겨주고, 테스트 완료 후 그 결과값을 받는 역할을 하는 가상의 모듈을 테스트 스텁(Stub)이라고 한다.
해설
정답: 3. 인자를 넘기고 결과값을 받는 가상의 상위 모듈은 테스트 드라이버(Driver)이다. 스텁은 하위 모듈을 대신하는 가상 모듈이다.
오답 풀이
- 1번: 모듈 단위로 명세대로 구현되었는지 테스트하는 것이 맞다.
- 2번: 구조적(화이트박스) 테스트를 시행하는 것이 맞다.
- 3번: 드라이버에 대한 설명을 스텁이라 했으므로 틀렸다.
- 4번: 상하위 모듈이 존재하는 것이 맞다.
보충 개념 드라이버는 상위 모듈을, 스텁은 하위 모듈을 대신하는 가상 모듈이다.
- 1.
문제 36
4지선다IDE(Integrated Development Environment) 도구의 각 기능에 대한 설명으로 틀린 것은?
- 1.
Coding - 프로그래밍 언어를 가지고 컴퓨터 프로그램을 작성할 수 있는 환경을 제공
- 2.
Compile - 저급언어의 프로그램을 고급언어 프로그램으로 변환하는 기능
- 3.
Debugging - 프로그램에서 발견되는 버그를 찾아 수정할 수 있는 기능
- 4.
Deployment - 소프트웨어를 최종 사용자에게 전달하기 위한 기능
정답·해설 보기▾
정답
2번
Compile - 저급언어의 프로그램을 고급언어 프로그램으로 변환하는 기능
해설
정답: 2. 컴파일은 고급언어를 저급언어(기계어)로 변환하는 기능이다. 설명이 반대로 되어 있다.
오답 풀이
- 1번: 코딩에 대한 설명이 맞다.
- 2번: 컴파일의 변환 방향이 반대로 서술되어 틀렸다.
- 3번: 디버깅에 대한 설명이 맞다.
- 4번: 배포에 대한 설명이 맞다.
보충 개념 컴파일러는 고급언어 소스 코드를 기계어로 번역하는 도구이다.
- 1.
문제 37
4지선다아래 Tree 구조에 대하여 후위 순회(Postorder) 한 결과는?
<그림>
- 1.
a → b → d → c → e → g → h → f
- 2.
d → b → g → h → e → f → c → a
- 3.
d → b → a → g → e → h → c → f
- 4.
a → b → d → g → e → h → c → f
정답·해설 보기▾
정답
2번
d → b → g → h → e → f → c → a
해설
정답: 2. 후위 순회는 왼쪽-오른쪽-루트 순이다. 트리는 루트 a(자식 b, c), b의 자식 d, c의 자식 e와 f, e의 자식 g와 h로 구성된다. 결과는 d → b → g → h → e → f → c → a이다.
오답 풀이
- 1번: 전위 순회에 가까운 순서로 틀렸다.
- 2번: 후위 순회 결과 d,b,g,h,e,f,c,a가 정답이다.
- 3번: 중위 순회와 혼동된 순서이다.
- 4번: 루트가 먼저 나오는 전위 순회 형태이다.
보충 개념 후위 순회(Postorder)는 왼쪽 서브트리 → 오른쪽 서브트리 → 루트 순으로 방문한다.
- 1.
문제 38
4지선다인터페이스 구현 시 사용하는 기술로 속성-값 쌍(Attribute-Value Pairs)으로 이루어진 데이터 오브젝트를 전달하기 위해 사용하는 개방형 표준 포맷은?
- 1.
JSON
- 2.
HTML
- 3.
AVPN
- 4.
DOF
정답·해설 보기▾
정답
1번
JSON
해설
정답: 1. 속성-값 쌍으로 데이터를 전달하는 개방형 표준 포맷은 JSON이다.
오답 풀이
- 1번: 속성-값 쌍 기반 데이터 교환 포맷은 JSON이므로 정답이다.
- 2번: HTML은 웹 문서 구조를 표현하는 마크업 언어이다.
- 3번: AVPN은 데이터 포맷이 아니다.
- 4번: DOF는 데이터 포맷이 아니다.
보충 개념 JSON은 경량 데이터 교환 포맷으로 키-값 쌍과 배열로 구조화된다.
- 1.
문제 39
4지선다순서가 있는 리스트에서 데이터의 삽입(Push), 삭제(Pop)가 한 쪽 끝에서 일어나며 LIFO(Last-In-First-Out)의 특징을 가지는 자료구조는?
- 1.
Tree
- 2.
Graph
- 3.
Stack
- 4.
Queue
정답·해설 보기▾
정답
3번
Stack
해설
정답: 3. 한쪽 끝에서 삽입·삭제가 일어나며 LIFO 특징을 가지는 것은 스택(Stack)이다.
오답 풀이
- 1번: 트리는 계층적 자료구조이다.
- 2번: 그래프는 정점과 간선으로 구성된다.
- 3번: LIFO 자료구조는 스택이므로 정답이다.
- 4번: 큐는 FIFO(선입선출) 자료구조이다.
보충 개념 스택은 LIFO, 큐는 FIFO 방식으로 동작한다.
- 1.
문제 40
4지선다다음 중 단위 테스트 도구로 사용될 수 없는 것은?
- 1.
CppUnit
- 2.
JUnit
- 3.
HttpUnit
- 4.
IgpUnit
정답·해설 보기▾
정답
4번
IgpUnit
해설
정답: 4. IgpUnit은 존재하지 않는 도구이다. CppUnit, JUnit, HttpUnit은 실제 단위 테스트 프레임워크이다.
오답 풀이
- 1번: CppUnit은 C++용 단위 테스트 도구이다.
- 2번: JUnit은 Java용 단위 테스트 도구이다.
- 3번: HttpUnit은 웹 단위 테스트 도구이다.
- 4번: IgpUnit은 실존하지 않으므로 정답이다.
보충 개념 xUnit 계열 프레임워크에는 JUnit, NUnit, CppUnit, PyUnit 등이 있다.
- 1.
문제 41
4지선다다음 조건을 모두 만족하는 정규형은?
- 테이블 R에 속한 모든 도메인이 원자값만으로 구성되어 있다.
- 테이블 R에서 키가 아닌 모든 필드가 키에 대해 함수적으로 종속되며, 키의 부분 집합이 결정자가 되는 부분 종속이 존재하지 않는다.
- 테이블 R에 존재하는 모든 함수적 종속에서 결정자가 후보키이다.
- 1.
BCNF
- 2.
제1정규형
- 3.
제2정규형
- 4.
제3정규형
정답·해설 보기▾
정답
1번
BCNF
해설
정답: 1. 모든 결정자가 후보키인 정규형은 BCNF(Boyce-Codd Normal Form)이다.
오답 풀이
- 1번: 모든 결정자가 후보키인 정규형은 BCNF이므로 정답이다.
- 2번: 제1정규형은 원자값 조건만 만족한다.
- 3번: 제2정규형은 부분 함수 종속을 제거한 단계이다.
- 4번: 제3정규형은 이행 함수 종속을 제거한 단계이다.
보충 개념 정규화는 1NF → 2NF → 3NF → BCNF 순으로 진행되며, BCNF는 모든 결정자가 후보키여야 한다.
문제 42
4지선다데이터베이스의 트랜잭션 성질들 중에서 다음 설명에 해당하는 것은?
트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다.
- 1.
Atomicity
- 2.
Consistency
- 3.
Isolation
- 4.
Durability
정답·해설 보기▾
정답
1번
Atomicity
해설
정답: 1. 모두 반영되거나 전혀 반영되지 않아야 하는 성질은 원자성(Atomicity)이다.
오답 풀이
- 1번: 전부 또는 전무(All or Nothing) 성질은 원자성이므로 정답이다.
- 2번: 일관성은 실행 전후 데이터베이스가 일관된 상태를 유지하는 성질이다.
- 3번: 격리성은 동시 실행 트랜잭션이 서로 간섭하지 않는 성질이다.
- 4번: 지속성은 완료된 트랜잭션 결과가 영구 반영되는 성질이다.
보충 개념 트랜잭션의 ACID는 원자성, 일관성, 격리성, 지속성을 의미한다.
- 1.
문제 43
4지선다분산 데이터베이스 시스템과 관련한 설명으로 틀린 것은?
- 1.
물리적으로 분산된 데이터베이스 시스템을 논리적으로 하나의 데이터베이스 시스템처럼 사용할 수 있도록 한 것이다.
- 2.
물리적으로 분산되어 지역별로 필요한 데이터를 처리할 수 있는 지역 컴퓨터(Local Computer)를 분산 처리기(Distributed Processor)라고 한다.
- 3.
분산 데이터베이스 시스템을 위한 통신 네트워크 구조가 데이터 통신에 영향을 주므로 효율적으로 설계해야 한다.
- 4.
데이터베이스가 분산되어 있음을 사용자가 인식할 수 있도록 분산 투명성(Distribution Transparency)을 배제해야 한다.
정답·해설 보기▾
정답
4번
데이터베이스가 분산되어 있음을 사용자가 인식할 수 있도록 분산 투명성(Distribution Transparency)을 배제해야 한다.
해설
정답: 4. 분산 투명성은 분산되어 있음을 사용자가 인식하지 못하도록 하는 것이며, 배제하는 것이 아니라 제공해야 한다.
오답 풀이
- 1번: 논리적으로 하나처럼 사용한다는 설명이 맞다.
- 2번: 분산 처리기에 대한 설명이 맞다.
- 3번: 통신 네트워크를 효율적으로 설계해야 한다는 설명이 맞다.
- 4번: 투명성을 배제해야 한다는 설명은 반대이므로 틀렸다.
보충 개념 분산 투명성에는 위치·중복·병행·장애·분할 투명성이 있다.
- 1.
문제 44
4지선다다음 테이블을 보고 강남지점의 판매량이 많은 제품부터 출력되도록 할 때 다음 중 가장 적절한 SQL 구문은? (단, 출력은 제품명과 판매량이 출력되도록 한다.)
<그림>
<푸드 테이블>
지점명 제품명 판매량 강남지점 비빔밥 500 강북지점 도시락 300 강남지점 도시락 200 강남지점 미역국 550 수원지점 비빔밥 600 인천지점 비빔밥 400 강남지점 잡채밥 250 - 1.
SELECT 제품명, 판매량 FROM 푸드 ORDER BY 판매량 ASC;
- 2.
SELECT 제품명, 판매량 FROM 푸드 ORDER BY 판매량 DESC;
- 3.
SELECT 제품명, 판매량 FROM 푸드 WHERE 지점명 = '강남지점' ORDER BY 판매량 ASC;
- 4.
SELECT 제품명, 판매량 FROM 푸드 WHERE 지점명 = '강남지점' ORDER BY 판매량 DESC;
정답·해설 보기▾
정답
4번
SELECT 제품명, 판매량 FROM 푸드 WHERE 지점명 = '강남지점' ORDER BY 판매량 DESC;
해설
정답: 4. 강남지점으로 필터링(WHERE)하고 판매량 내림차순(DESC) 정렬해야 많은 제품부터 출력된다.
오답 풀이
- 1번: 강남지점 조건이 없고 오름차순이라 틀렸다.
- 2번: 강남지점 조건이 없어 틀렸다.
- 3번: 오름차순(ASC)이라 적은 제품부터 출력되므로 틀렸다.
- 4번: 강남지점 조건과 내림차순 정렬이 모두 맞으므로 정답이다.
보충 개념 ORDER BY DESC는 내림차순(큰 값부터), ASC는 오름차순(작은 값부터) 정렬이다.
- 1.
문제 45
4지선다데이터베이스의 인덱스와 관련한 설명으로 틀린 것은?
- 1.
문헌의 색인, 사전과 같이 데이터를 쉽고 빠르게 찾을 수 있도록 만든 데이터 구조이다.
- 2.
테이블에 붙여진 색인으로 데이터 검색 시 처리 속도 향상에 도움이 된다.
- 3.
인덱스의 추가, 삭제 명령어는 각각 ADD, DELETE이다.
- 4.
대부분의 데이터베이스에서 테이블을 삭제하면 인덱스도 같이 삭제된다.
정답·해설 보기▾
정답
3번
인덱스의 추가, 삭제 명령어는 각각 ADD, DELETE이다.
해설
정답: 3. 인덱스 추가·삭제 명령어는 CREATE INDEX, DROP INDEX이다. ADD, DELETE가 아니다.
오답 풀이
- 1번: 인덱스가 빠른 검색을 위한 자료구조라는 설명이 맞다.
- 2번: 검색 속도 향상에 도움 된다는 설명이 맞다.
- 3번: ADD·DELETE 명령어라는 설명은 틀렸다.
- 4번: 테이블 삭제 시 인덱스도 삭제되는 것이 맞다.
보충 개념 인덱스는 CREATE INDEX로 생성하고 DROP INDEX로 삭제한다.
- 1.
문제 46
4지선다물리적 데이터베이스 구조의 기본 데이터 단위인 저장 레코드의 양식을 설계할 때 고려 사항이 아닌 것은?
- 1.
데이터 타입
- 2.
데이터 값의 분포
- 3.
트랜잭션 모델링
- 4.
접근 빈도
정답·해설 보기▾
정답
3번
트랜잭션 모델링
해설
정답: 3. 트랜잭션 모델링은 개념적/논리적 설계 단계의 고려사항이며 저장 레코드 양식 설계와는 거리가 멀다.
오답 풀이
- 1번: 데이터 타입은 저장 레코드 설계 시 고려한다.
- 2번: 데이터 값의 분포는 고려 사항이다.
- 3번: 트랜잭션 모델링은 저장 레코드 양식 설계 사항이 아니므로 정답이다.
- 4번: 접근 빈도는 고려 사항이다.
보충 개념 저장 레코드 양식 설계 시 데이터 타입, 값의 분포, 접근 빈도 등을 고려한다.
- 1.
문제 47
4지선다SQL의 기능에 따른 분류 중에서 REVOKE문과 같이 데이터의 사용 권한을 관리하는데 사용하는 언어는?
- 1.
DDL(Data Definition Language)
- 2.
DML(Data Manipulation Language)
- 3.
DCL(Data Control Language)
- 4.
DUL(Data User Language)
정답·해설 보기▾
정답
3번
DCL(Data Control Language)
해설
정답: 3. REVOKE, GRANT처럼 권한을 관리하는 언어는 DCL(Data Control Language)이다.
오답 풀이
- 1번: DDL은 CREATE·ALTER·DROP 등 구조 정의 언어이다.
- 2번: DML은 SELECT·INSERT·UPDATE 등 조작 언어이다.
- 3번: 권한 관리 언어는 DCL이므로 정답이다.
- 4번: DUL은 존재하지 않는 분류이다.
보충 개념 DCL에는 GRANT(권한 부여), REVOKE(권한 회수), COMMIT, ROLLBACK이 있다.
- 1.
문제 48
4지선다데이터 사전에 대한 설명으로 틀린 것은?
- 1.
시스템 카탈로그 또는 시스템 데이터베이스라고도 한다.
- 2.
데이터 사전 역시 데이터베이스의 일종이므로 일반 사용자가 생성, 유지 및 수정 할 수 있다.
- 3.
데이터베이스에 대한 데이터인 메타데이터(Metadata)를 저장하고 있다.
- 4.
데이터 사전에 있는 데이터에 실제로 접근하는 데 필요한 위치 정보는 데이터 디렉토리(Data Directory)라는 곳에서 관리한다.
정답·해설 보기▾
정답
2번
데이터 사전 역시 데이터베이스의 일종이므로 일반 사용자가 생성, 유지 및 수정 할 수 있다.
해설
정답: 2. 데이터 사전(시스템 카탈로그)은 시스템이 자동으로 관리하며, 일반 사용자는 조회만 가능하고 직접 수정할 수 없다.
오답 풀이
- 1번: 시스템 카탈로그라고도 부르는 것이 맞다.
- 2번: 일반 사용자가 생성·수정할 수 있다는 설명은 틀렸다.
- 3번: 메타데이터를 저장하는 것이 맞다.
- 4번: 데이터 디렉토리에 대한 설명이 맞다.
보충 개념 시스템 카탈로그는 DBMS가 자동 갱신하며 사용자는 SELECT로 조회만 가능하다.
- 1.
문제 49
4지선다데이터베이스에서 릴레이션에 대한 설명으로 틀린 것은?
- 1.
모든 튜플은 서로 다른 값을 가지고 있다.
- 2.
하나의 릴레이션에서 튜플은 특정한 순서를 가진다.
- 3.
각 속성은 릴레이션 내에서 유일한 이름을 가진다.
- 4.
모든 속성 값은 원자 값(atomic value)을 가진다.
정답·해설 보기▾
정답
2번
하나의 릴레이션에서 튜플은 특정한 순서를 가진다.
해설
정답: 2. 릴레이션에서 튜플은 순서가 없다(무순서성). 특정 순서를 가진다는 설명은 틀렸다.
오답 풀이
- 1번: 모든 튜플이 서로 다른 값을 가진다는 설명이 맞다.
- 2번: 튜플이 특정 순서를 가진다는 설명은 무순서성에 어긋나므로 틀렸다.
- 3번: 속성 이름이 유일하다는 설명이 맞다.
- 4번: 속성 값이 원자값을 가진다는 설명이 맞다.
보충 개념 릴레이션의 특성은 튜플 유일성, 튜플 무순서성, 속성 무순서성, 원자값이다.
- 1.
문제 50
4지선다데이터베이스에서의 뷰(View)에 대한 설명으로 틀린 것은?
- 1.
뷰는 다른 뷰를 기반으로 새로운 뷰를 만들 수 있다.
- 2.
뷰는 일종의 가상 테이블이며, update에는 제약이 따른다.
- 3.
뷰는 기본 테이블을 만드는 것처럼 create view를 사용하여 만들 수 있다.
- 4.
뷰는 논리적으로 존재하는 기본 테이블과 다르게 물리적으로만 존재하며 카탈로그에 저장된다.
정답·해설 보기▾
정답
4번
뷰는 논리적으로 존재하는 기본 테이블과 다르게 물리적으로만 존재하며 카탈로그에 저장된다.
해설
정답: 4. 뷰는 물리적으로 존재하지 않는 가상 테이블이며, 정의만 카탈로그에 저장된다.
오답 풀이
- 1번: 뷰를 기반으로 다른 뷰를 만들 수 있는 것이 맞다.
- 2번: 가상 테이블이며 update에 제약이 따르는 것이 맞다.
- 3번: CREATE VIEW로 생성하는 것이 맞다.
- 4번: 물리적으로만 존재한다는 설명은 반대이므로 틀렸다.
보충 개념 뷰는 기본 테이블로부터 유도된 가상 테이블로 물리적 데이터를 저장하지 않는다.
- 1.
문제 51
4지선다트랜잭션의 상태 중 트랜잭션의 마지막 연산이 실행된 직후의 상태로, 모든 연산의 처리는 끝났지만 트랜잭션이 수행한 최종 결과를 데이터베이스에 반영하지 않은 상태는?
- 1.
Active
- 2.
Partially Committed
- 3.
Committed
- 4.
Aborted
정답·해설 보기▾
정답
2번
Partially Committed
해설
정답: 2. 마지막 연산까지 끝났으나 아직 DB에 반영되지 않은 상태는 부분 완료(Partially Committed)이다.
오답 풀이
- 1번: Active는 트랜잭션이 실행 중인 상태이다.
- 2번: 마지막 연산 후 반영 전 상태는 Partially Committed이므로 정답이다.
- 3번: Committed는 결과가 DB에 영구 반영된 상태이다.
- 4번: Aborted는 실패로 철회된 상태이다.
보충 개념 트랜잭션 상태는 활동 → 부분완료 → 완료 또는 실패 → 철회로 전이된다.
- 1.
문제 52
4지선다SQL의 명령을 사용 용도에 따라 DDL, DML, DCL로 구분할 경우, 그 성격이 나머지 셋과 다른 것은?
- 1.
SELECT
- 2.
UPDATE
- 3.
INSERT
- 4.
GRANT
정답·해설 보기▾
정답
4번
GRANT
해설
정답: 4. SELECT·UPDATE·INSERT는 DML이고, GRANT는 DCL이므로 성격이 다르다.
오답 풀이
- 1번: SELECT는 DML이다.
- 2번: UPDATE는 DML이다.
- 3번: INSERT는 DML이다.
- 4번: GRANT는 권한 부여 DCL이므로 나머지와 성격이 다르다.
보충 개념 DML은 데이터 조작(SELECT, INSERT, UPDATE, DELETE), DCL은 권한 제어(GRANT, REVOKE)이다.
- 1.
문제 53
4지선다키의 종류 중 유일성과 최소성을 만족하는 속성 또는 속성들의 집합은?
- 1.
Atomic key
- 2.
Super key
- 3.
Candidate key
- 4.
Test key
정답·해설 보기▾
정답
3번
Candidate key
해설
정답: 3. 유일성과 최소성을 모두 만족하는 키는 후보키(Candidate Key)이다.
오답 풀이
- 1번: Atomic key는 표준 용어가 아니다.
- 2번: 슈퍼키는 유일성은 만족하지만 최소성은 만족하지 않을 수 있다.
- 3번: 유일성과 최소성을 모두 만족하는 키는 후보키이므로 정답이다.
- 4번: Test key는 존재하지 않는 용어이다.
보충 개념 슈퍼키는 유일성만, 후보키는 유일성과 최소성을 모두 만족한다.
- 1.
문제 54
4지선다데이터베이스에서 개념적 설계 단계에 대한 설명으로 틀린 것은?
- 1.
산출물로 E-R Diagram을 만들 수 있다.
- 2.
DBMS에 독립적인 개념 스키마를 설계한다.
- 3.
트랜잭션 인터페이스를 설계 및 작성한다.
- 4.
논리적 설계 단계의 앞 단계에서 수행된다.
정답·해설 보기▾
정답
3번
트랜잭션 인터페이스를 설계 및 작성한다.
해설
정답: 3. 트랜잭션 인터페이스 설계 및 작성은 논리적 설계 단계의 작업이다.
오답 풀이
- 1번: 개념적 설계의 산출물이 E-R 다이어그램인 것이 맞다.
- 2번: DBMS에 독립적인 개념 스키마 설계가 맞다.
- 3번: 트랜잭션 인터페이스 설계는 논리적 설계 단계이므로 틀렸다.
- 4번: 논리적 설계의 앞 단계인 것이 맞다.
보충 개념 DB 설계는 요구분석 → 개념적 설계 → 논리적 설계 → 물리적 설계 순으로 진행된다.
- 1.
문제 55
4지선다테이블의 기본키(Primary Key)로 지정된 속성에 관한 설명으로 가장 거리가 먼 것은?
- 1.
NOT NULL로 널 값을 가지지 않는다.
- 2.
릴레이션에서 튜플을 구별할 수 있다.
- 3.
외래키로 참조될 수 있다.
- 4.
검색할 때 반드시 필요하다.
정답·해설 보기▾
정답
4번
검색할 때 반드시 필요하다.
해설
정답: 4. 기본키는 검색을 빠르게 할 수 있지만 검색할 때 반드시 필요한 것은 아니다.
오답 풀이
- 1번: 기본키가 NOT NULL인 것이 맞다.
- 2번: 기본키로 튜플을 구별할 수 있는 것이 맞다.
- 3번: 다른 테이블에서 외래키로 참조될 수 있는 것이 맞다.
- 4번: 검색에 반드시 필요하다는 설명은 가장 거리가 멀어 정답이다.
보충 개념 기본키는 개체 무결성을 보장하며 NULL 값과 중복 값을 가질 수 없다.
- 1.
문제 56
4지선다데이터 모델의 구성 요소 중 데이터 구조에 따라 개념 세계나 컴퓨터 세계에서 실제로 표현된 값들을 처리하는 작업을 의미하는 것은?
- 1.
Relation
- 2.
Data Structure
- 3.
Constraint
- 4.
Operation
정답·해설 보기▾
정답
4번
Operation
해설
정답: 4. 표현된 값들을 처리하는 작업을 의미하는 것은 연산(Operation)이다.
오답 풀이
- 1번: Relation은 릴레이션 자체를 의미한다.
- 2번: Data Structure는 데이터 구조를 의미한다.
- 3번: Constraint는 제약 조건을 의미한다.
- 4번: 값을 처리하는 작업은 연산이므로 정답이다.
보충 개념 데이터 모델 구성 요소는 구조(Structure), 연산(Operation), 제약 조건(Constraint)이다.
- 1.
문제 57
4지선다다음 [조건]에 부합하는 SQL문을 작성하고자 할 때, [SQL문]의 빈칸에 들어갈 내용으로 옳은 것은? (단, '팀코드' 및 '이름'은 속성이며, '직원'은 테이블이다.)
[조건] 이름이 '정도일'인 팀원과 소속된 팀코드를 이용하여 해당 팀에 소속된 팀원들의 이름을 출력하는 SQL문 작성
[SQL문]
- 1.
WHERE 이름 = '정도일'
- 2.
SELECT 팀코드 FROM 이름 WHERE 직원 = '정도일'
- 3.
WHERE 직원 = '정도일'
- 4.
SELECT 팀코드 FROM 직원 WHERE 이름 = '정도일'
정답·해설 보기▾
정답
4번
SELECT 팀코드 FROM 직원 WHERE 이름 = '정도일'
해설
정답: 4. 이름이 '정도일'인 직원의 팀코드를 구하는 부속 질의(subquery)가 들어가야 하므로 SELECT 팀코드 FROM 직원 WHERE 이름 = '정도일'이 옳다. 이 결과 팀코드와 같은 팀의 모든 이름이 출력된다.
오답 풀이
- 1번: 부속 질의 자리에 WHERE 절만 오면 팀코드 값을 구하는 SELECT가 없어 문법에 맞지 않는다.
- 2번: FROM 이름, WHERE 직원으로 테이블·속성이 뒤바뀌어 틀렸다.
- 3번: 직원은 테이블명이므로 WHERE 조건 속성이 될 수 없어 틀렸다.
- 4번: '정도일'의 팀코드를 반환하는 올바른 부속 질의이므로 정답이다.
보충 개념 부속 질의(subquery)는 WHERE 절의 비교 대상 값을 반환하며, 바깥 질의는 그 값으로 조건을 평가한다.
- 1.
문제 58
4지선다무결성 제약조건 중 개체 무결성 제약조건에 대한 설명으로 옳은 것은?
- 1.
릴레이션 내의 튜플들이 각 속성의 도메인에 정해진 값만을 가져야 한다.
- 2.
기본키는 NULL 값을 가져서는 안되며 릴레이션 내에 오직 하나의 값만 존재해야 한다.
- 3.
자식 릴레이션의 외래키는 부모 릴레이션의 기본키와 도메인이 동일해야 한다.
- 4.
자식 릴레이션의 값이 변경될 때 부모 릴레이션의 제약을 받는다.
정답·해설 보기▾
정답
2번
기본키는 NULL 값을 가져서는 안되며 릴레이션 내에 오직 하나의 값만 존재해야 한다.
해설
정답: 2. 개체 무결성은 기본키가 NULL을 가질 수 없고 유일해야 한다는 제약이다.
오답 풀이
- 1번: 도메인에 정해진 값만 가져야 한다는 것은 도메인 무결성이다.
- 2번: 기본키가 NULL 불가·유일해야 한다는 설명이 개체 무결성이므로 정답이다.
- 3번: 외래키 도메인 일치는 참조 무결성과 관련이 있다.
- 4번: 외래키 참조 제약은 참조 무결성이다.
보충 개념 개체 무결성은 기본키 NULL 금지·유일성, 참조 무결성은 외래키 일관성을 보장한다.
- 1.
문제 59
4지선다관계 데이터 모델에서 릴레이션(Relation)에 포함되어 있는 튜플(Tuple)의 수를 무엇이라고 하는가?
- 1.
Degree
- 2.
Cardinality
- 3.
Attribute
- 4.
Cartesian product
정답·해설 보기▾
정답
2번
Cardinality
해설
정답: 2. 릴레이션의 튜플(행)의 수는 카디널리티(Cardinality)이다.
오답 풀이
- 1번: Degree(차수)는 속성(열)의 수이다.
- 2번: 튜플의 수는 카디널리티이므로 정답이다.
- 3번: Attribute는 속성 자체를 의미한다.
- 4번: Cartesian product는 두 릴레이션의 곱 연산이다.
보충 개념 차수(Degree)는 속성의 수, 카디널리티(Cardinality)는 튜플의 수를 의미한다.
- 1.
문제 60
4지선다사용자 'PARK'에게 테이블을 생성할 수 있는 권한을 부여하기 위한 SQL문의 구성으로 빈칸에 적합한 내용은?
[SQL 문]
- 1.
CREATE TABLE TO
- 2.
CREATE TO
- 3.
CREATE FROM
- 4.
CREATE TABLE FROM
정답·해설 보기▾
정답
1번
CREATE TABLE TO
해설
정답: 1. 권한 부여는 GRANT 권한 TO 사용자 형식이므로 GRANT CREATE TABLE TO PARK가 된다.
오답 풀이
- 1번: CREATE TABLE 권한을 TO로 부여하므로 정답이다.
- 2번: TABLE이 빠져 테이블 생성 권한이 명시되지 않았다.
- 3번: 권한 부여는 TO를 쓰며 FROM은 회수(REVOKE)에 사용한다.
- 4번: FROM은 GRANT 구문에 적합하지 않다.
보충 개념 GRANT 권한 TO 사용자로 권한을 부여하고, REVOKE 권한 FROM 사용자로 회수한다.
- 1.
문제 61
4지선다C언어에서 문자열 처리 함수의 서식과 그 기능의 연결로 틀린 것은?
- 1.
strlen(s) - s의 길이를 구한다.
- 2.
strcpy(s1, s2) - s2를 s1으로 복사한다.
- 3.
strcmp(s1, s2) - s1과 s2를 연결한다.
- 4.
strrev(s) - s를 거꾸로 변환한다.
정답·해설 보기▾
정답
3번
strcmp(s1, s2) - s1과 s2를 연결한다.
해설
정답: 3. strcmp는 두 문자열을 비교하는 함수이다. 문자열을 연결하는 것은 strcat이다.
오답 풀이
- 1번: strlen은 길이를 구하는 함수가 맞다.
- 2번: strcpy는 복사하는 함수가 맞다.
- 3번: strcmp가 연결한다는 설명은 틀렸다(비교 함수이다).
- 4번: strrev는 문자열을 뒤집는 함수가 맞다.
보충 개념 strcmp는 비교, strcat은 연결, strcpy는 복사, strlen은 길이 측정 함수이다.
- 1.
문제 62
4지선다다음 C언어 프로그램이 실행되었을 때, 실행 결과는?
- 1.
0
- 2.
2
- 3.
5
- 4.
14
정답·해설 보기▾
정답
2번
2
해설
정답: 2. t1 = a && b = (5 그리고 3) = 1, t2 = a || b = (5 또는 3) = 1, t3 = !c = !12 = 0이므로 1 + 1 + 0 = 2이다.
오답 풀이
- 1번: 모든 결과가 0이 아니므로 0이 될 수 없다.
- 2번: 1 + 1 + 0 = 2가 정답이다.
- 3번: 5는 계산 결과와 일치하지 않는다.
- 4번: 14는 계산 결과와 일치하지 않는다.
보충 개념 C언어에서 논리 연산 결과는 참이면 1, 거짓이면 0이고 !는 0이 아닌 값을 0으로 만든다.
- 1.
문제 63
4지선다다음 C언어 프로그램이 실행되었을 때, 실행 결과는?
- 1.
30
- 2.
60
- 3.
80
- 4.
120
정답·해설 보기▾
정답
2번
60
해설
정답: 2. 첫 반복에서 ob1.c[i]=i, ob2.c[i]=2i가 된다. 두 번째 반복은 짝수 인덱스(0,2,4,6,8)만 더하므로 ob1.a = 0+2+4+6+8 = 20, ob2.a = 0+4+8+12+16 = 40이다. 따라서 ob1.a + ob2.a = 20 + 40 = 60이다.
오답 풀이
- 1번: 30은 계산 결과와 일치하지 않는다.
- 2번: 20 + 40 = 60이 정답이다.
- 3번: 80은 계산 결과와 일치하지 않는다.
- 4번: 120은 모든 인덱스를 더한 경우의 값으로 짝수 인덱스만 더하는 코드와 다르다.
보충 개념 for(i=0; i<10; i=i+2)는 i를 2씩 증가시키므로 짝수 인덱스 요소만 순회한다.
- 1.
문제 64
4지선다IP 프로토콜에서 사용하는 필드와 해당 필드에 대한 설명으로 틀린 것은?
- 1.
Header Length는 IP 프로토콜의 헤더 길이를 32비트 워드 단위로 표시한다.
- 2.
Packet Length는 IP 헤더를 제외한 패킷 전체의 길이를 나타내며 최대 크기는 2³²-1비트이다.
- 3.
Time To Live는 송신 호스트가 패킷을 전송하기 전 네트워크에서 생존할 수 있는 시간을 지정한 것이다.
- 4.
Version Number는 IP 프로토콜의 버전번호를 나타낸다.
정답·해설 보기▾
정답
2번
Packet Length는 IP 헤더를 제외한 패킷 전체의 길이를 나타내며 최대 크기는 2³²-1비트이다.
해설
정답: 2. Packet Length(Total Length)는 IP 헤더를 포함한 전체 패킷 길이이며 최대 크기는 2¹⁶-1=65535바이트이다.
오답 풀이
- 1번: Header Length가 32비트 워드 단위라는 설명이 맞다.
- 2번: 헤더를 제외한다는 점과 최대 크기 설명이 모두 틀렸다.
- 3번: TTL에 대한 설명이 맞다.
- 4번: Version Number에 대한 설명이 맞다.
보충 개념 IPv4의 Total Length 필드는 16비트로 헤더와 데이터를 합한 전체 길이(최대 65535바이트)를 나타낸다.
- 1.
문제 65
4지선다다음 Python 프로그램의 실행 결과가 [실행결과]와 같을 때, 빈칸에 적합한 것은?
[실행결과]
- 1.
either
- 2.
elif
- 3.
else if
- 4.
else
정답·해설 보기▾
정답
2번
elif
해설
정답: 2. Python에서 추가 조건 분기는 elif 키워드를 사용한다.
오답 풀이
- 1번: either는 Python 키워드가 아니다.
- 2번: 조건 분기 키워드는 elif이므로 정답이다.
- 3번: else if는 Python 문법이 아니다(C/Java 문법이다).
- 4번: else는 조건식을 가질 수 없다.
보충 개념 Python의 조건문은 if, elif, else로 구성되며 elif는 else if의 축약형이다.
- 1.
문제 66
4지선다RIP 라우팅 프로토콜에 대한 설명으로 틀린 것은?
- 1.
경로 선택 메트릭은 홉 카운트(hop count)이다.
- 2.
라우팅 프로토콜을 IGP와 EGP로 분류했을 때 EGP에 해당한다.
- 3.
최단 경로 탐색에 Bellman-Ford 알고리즘을 사용한다.
- 4.
각 라우터는 이웃 라우터들로부터 수신한 정보를 이용하여 라우팅 표를 갱신한다.
정답·해설 보기▾
정답
2번
라우팅 프로토콜을 IGP와 EGP로 분류했을 때 EGP에 해당한다.
해설
정답: 2. RIP는 자율 시스템 내부에서 사용하는 IGP(Interior Gateway Protocol)이다. EGP가 아니다.
오답 풀이
- 1번: 메트릭이 홉 카운트인 것이 맞다.
- 2번: EGP에 해당한다는 설명은 틀렸다(IGP이다).
- 3번: Bellman-Ford 알고리즘을 사용하는 것이 맞다.
- 4번: 이웃 라우터 정보로 라우팅 표를 갱신하는 것이 맞다.
보충 개념 IGP에는 RIP·OSPF가, EGP에는 BGP가 속한다. RIP는 거리 벡터 방식이다.
- 1.
문제 67
4지선다다음에서 설명하는 프로세스 스케줄링은?
- 대기 시간이 긴 프로세스일 경우 우선순위가 높아진다.
- 우선순위 = (대기시간 + 서비스시간) / 서비스시간 으로 계산한다.
- 짧은 작업과 긴 작업의 우선순위를 합리적으로 조절한다.
- 1.
FIFO 스케줄링
- 2.
RR 스케줄링
- 3.
HRN 스케줄링
- 4.
MQ 스케줄링
정답·해설 보기▾
정답
3번
HRN 스케줄링
해설
정답: 3. 우선순위 = (대기시간 + 서비스시간) / 서비스시간 공식을 사용하는 것은 HRN(Highest Response-ratio Next) 스케줄링이다.
오답 풀이
- 1번: FIFO는 도착 순서대로 처리하는 비선점 방식이다.
- 2번: RR은 시간 할당량 기반의 선점 방식이다.
- 3번: 응답 비율 공식을 사용하는 것은 HRN이므로 정답이다.
- 4번: MQ는 다단계 큐 스케줄링이다.
보충 개념 HRN은 SJF의 기아 현상을 보완하기 위해 대기 시간을 반영한 응답 비율로 우선순위를 정한다.
문제 68
4지선다UNIX 운영체제에 관한 특징으로 틀린 것은?
- 1.
하나 이상의 작업에 대하여 백그라운드에서 수행이 가능하다.
- 2.
Multi-User는 지원하지만 Multi-Tasking은 지원하지 않는다.
- 3.
트리 구조의 파일 시스템을 갖는다.
- 4.
이식성이 높으며 장치 간의 호환성이 높다.
정답·해설 보기▾
정답
2번
Multi-User는 지원하지만 Multi-Tasking은 지원하지 않는다.
해설
정답: 2. UNIX는 다중 사용자(Multi-User)와 다중 작업(Multi-Tasking)을 모두 지원한다.
오답 풀이
- 1번: 백그라운드 작업 수행이 가능한 것이 맞다.
- 2번: Multi-Tasking을 지원하지 않는다는 설명은 틀렸다.
- 3번: 트리 구조 파일 시스템을 갖는 것이 맞다.
- 4번: 이식성과 호환성이 높은 것이 맞다.
보충 개념 UNIX는 C언어로 작성되어 이식성이 높고 다중 사용자·다중 작업을 지원한다.
- 1.
문제 69
4지선다UDP 프로토콜의 특징이 아닌 것은?
- 1.
비연결형 서비스를 제공한다.
- 2.
단순한 헤더 구조로 오버헤드가 적다.
- 3.
주로 주소를 지정하고, 경로를 설정하는 기능을 한다.
- 4.
TCP와 같이 트랜스포트 계층에 존재한다.
정답·해설 보기▾
정답
3번
주로 주소를 지정하고, 경로를 설정하는 기능을 한다.
해설
정답: 3. 주소 지정과 경로 설정은 네트워크 계층(IP)의 기능이며 UDP의 특징이 아니다.
오답 풀이
- 1번: UDP가 비연결형 서비스를 제공하는 것이 맞다.
- 2번: 단순한 헤더로 오버헤드가 적은 것이 맞다.
- 3번: 주소 지정·경로 설정은 IP의 기능이므로 UDP 특징이 아니어서 정답이다.
- 4번: UDP가 트랜스포트 계층에 존재하는 것이 맞다.
보충 개념 UDP는 비연결형·비신뢰성 전송 계층 프로토콜로 헤더가 8바이트로 단순하다.
- 1.
문제 70
4지선다Python 데이터 타입 중 시퀀스(Sequence) 데이터 타입에 해당하며 다양한 데이터 타입들을 주어진 순서에 따라 저장할 수 있으나 저장된 내용을 변경할 수 없는 것은?
- 1.
복소수(complex) 타입
- 2.
리스트(list) 타입
- 3.
사전(dict) 타입
- 4.
튜플(tuple) 타입
정답·해설 보기▾
정답
4번
튜플(tuple) 타입
해설
정답: 4. 순서가 있으나 변경 불가능한(immutable) 시퀀스 타입은 튜플(tuple)이다.
오답 풀이
- 1번: complex는 시퀀스 타입이 아니다.
- 2번: 리스트는 시퀀스이지만 변경 가능(mutable)하다.
- 3번: dict는 키-값 매핑 타입으로 시퀀스가 아니다.
- 4번: 변경 불가능한 시퀀스는 튜플이므로 정답이다.
보충 개념 튜플은 () 괄호로 정의하며 한번 생성하면 요소를 변경할 수 없는 불변 시퀀스이다.
- 1.
문제 71
4지선다다음 JAVA 프로그램이 실행되었을 때, 실행결과는?
- 1.
1 2 3 4
- 2.
0 1 2 3
- 3.
1 2 3
- 4.
0 1 2
정답·해설 보기▾
정답
2번
0 1 2 3
해설
정답: 2. marr()는 길이 4의 배열을 만들어 temp[i] = i로 채우므로 [0, 1, 2, 3]을 반환한다. main에서 이를 순서대로 출력하면 0 1 2 3이 된다.
오답 풀이
- 1번: 인덱스가 0부터 시작하므로 1 2 3 4가 아니다.
- 2번: temp[i] = i로 채운 [0, 1, 2, 3]이 출력되므로 정답이다.
- 3번: 배열 길이가 4이므로 세 개만 출력되지 않는다.
- 4번: 배열 길이가 4이므로 0 1 2 세 개만 출력되지 않는다.
보충 개념 new int[4]는 길이 4의 배열을 생성하며 인덱스는 0부터 3까지이다.
- 1.
문제 72
4지선다다음 JAVA 프로그램이 실행되었을 때의 결과는?
- 1.
1
- 2.
2
- 3.
3
- 4.
4
정답·해설 보기▾
정답
3번
3
해설
정답: 3. main 안의 지역 변수 x=2가 정적 변수 x(=1)를 가린다. 블록 안에서 y=x(=2), x=y+1(=3)이 되고, 이 x는 같은 메서드 스코프의 지역 변수라 블록을 벗어나도 3을 유지한다. 따라서 System.out.println(x)는 3을 출력한다.
오답 풀이
- 1번: static x(=1)는 지역 변수 x에 가려져 출력되지 않는다.
- 2번: 블록에서 x가 y+1=3으로 바뀌므로 2가 아니다.
- 3번: 지역 변수 x가 3이 되어 출력되므로 정답이다.
- 4번: x는 한 번만 1 증가해 3이며 4가 아니다.
보충 개념 Java에서 내부 블록은 바깥 메서드의 지역 변수를 그대로 공유하며, 같은 이름의 지역 변수는 클래스의 static 필드를 가린다(shadowing).
- 1.
문제 73
4지선다다음 중 Myers가 구분한 응집도(Cohesion)의 정도에서 가장 낮은 응집도를 갖는 단계는?
- 1.
순차적 응집도(Sequential Cohesion)
- 2.
기능적 응집도(Functional Cohesion)
- 3.
시간적 응집도(Temporal Cohesion)
- 4.
우연적 응집도(Coincidental Cohesion)
정답·해설 보기▾
정답
4번
우연적 응집도(Coincidental Cohesion)
해설
정답: 4. 가장 낮은 응집도는 우연적 응집도(Coincidental Cohesion)이다.
오답 풀이
- 1번: 순차적 응집도는 비교적 높은 응집도이다.
- 2번: 기능적 응집도는 가장 높은 응집도이다.
- 3번: 시간적 응집도는 중간 수준의 응집도이다.
- 4번: 가장 낮은 응집도는 우연적 응집도이므로 정답이다.
보충 개념 응집도는 높은 순으로 기능적 > 순차적 > 교환적 > 절차적 > 시간적 > 논리적 > 우연적이다.
- 1.
문제 74
4지선다다음 C언어 프로그램이 실행되었을 때, 실행 결과는?
- 1.
0
- 2.
1
- 3.
2
- 4.
3
정답·해설 보기▾
정답
2번
1
해설
정답: 2. n1=1, n2=2, n3=3일 때 r1 = (2<=2 참) || (3>3 거짓) = 1, r2 = !3 = 0(3은 참이므로 부정하면 0), r3 = (1>1 거짓) && (2<3 참) = 0이다. 따라서 r3 - r2 + r1 = 0 - 0 + 1 = 1이 출력된다.
오답 풀이
- 1번: 계산 결과는 0이 아니라 1이다.
- 2번: 0 - 0 + 1 = 1이므로 정답이다.
- 3번: r2와 r3가 모두 0이라 2가 될 수 없다.
- 4번: r1만 1이고 나머지는 0이므로 3이 될 수 없다.
보충 개념 C에서 논리 연산(||, &&, !)의 결과는 참이면 1, 거짓이면 0이다. !n3은 n3가 0이 아니므로 0이 된다.
- 1.
문제 75
4지선다IP 프로토콜의 주요 특징에 해당하지 않는 것은?
- 1.
체크섬(Checksum) 기능으로 데이터 체크섬(Data Checksum)만 제공한다.
- 2.
패킷을 분할, 병합하는 기능을 수행하기도 한다.
- 3.
비연결형 서비스를 제공한다.
- 4.
Best Effort 원칙에 따른 전송 기능을 제공한다.
정답·해설 보기▾
정답
1번
체크섬(Checksum) 기능으로 데이터 체크섬(Data Checksum)만 제공한다.
해설
정답: 1. IP는 헤더 체크섬(Header Checksum)만 제공하며 데이터 체크섬은 제공하지 않는다.
오답 풀이
- 1번: 데이터 체크섬만 제공한다는 설명은 틀렸다(헤더 체크섬만 제공한다).
- 2번: 패킷 분할·병합 기능을 수행하는 것이 맞다.
- 3번: 비연결형 서비스를 제공하는 것이 맞다.
- 4번: Best Effort 전송 원칙이 맞다.
보충 개념 IPv4는 헤더 무결성만 체크섬으로 검사하며, 데이터 무결성은 상위 계층(TCP/UDP)이 담당한다.
- 1.
문제 76
4지선다4개의 페이지를 수용할 수 있는 주기억장치가 있으며, 초기에는 모두 비어 있다고 가정한다. 다음의 순서로 페이지 참조가 발생할 때, LRU 페이지 교체 알고리즘을 사용할 경우 몇 번의 페이지 결함이 발생하는가?
1, 2, 3, 1, 2, 4, 1, 2, 5
- 1.
5회
- 2.
6회
- 3.
7회
- 4.
8회
정답·해설 보기▾
정답
1번
5회
해설
정답: 1. LRU로 1,2,3,4,5를 참조하면 1(결함),2(결함),3(결함),1(히트),2(히트),4(결함),1(히트),2(히트),5(결함)로 총 5회의 페이지 결함이 발생한다.
오답 풀이
- 1번: 결함 발생 페이지는 1,2,3,4,5로 5회이므로 정답이다.
- 2번: 6회는 계산보다 많다.
- 3번: 7회는 계산보다 많다.
- 4번: 8회는 계산보다 많다.
보충 개념 LRU(Least Recently Used)는 가장 오랫동안 사용되지 않은 페이지를 교체한다.
- 1.
문제 77
4지선다사용자 수준에서 지원되는 스레드(thread)가 커널에서 지원되는 스레드에 비해 가지는 장점으로 옳은 것은?
- 1.
한 프로세스가 운영체제를 호출할 때 전체 프로세스가 대기할 필요가 없으므로 시스템 성능을 높일 수 있다.
- 2.
동시에 여러 스레드가 커널에 접근할 수 있으므로 여러 스레드가 시스템 호출을 동시에 사용할 수 있다.
- 3.
각 스레드를 개별적으로 관리할 수 있으므로 스레드의 독립적인 스케줄링이 가능하다.
- 4.
커널 모드로의 전환 없이 스레드 교환이 가능하므로 오버헤드가 줄어든다.
정답·해설 보기▾
정답
4번
커널 모드로의 전환 없이 스레드 교환이 가능하므로 오버헤드가 줄어든다.
해설
정답: 4. 사용자 수준 스레드는 커널 모드 전환 없이 스레드 교환이 가능해 오버헤드가 적다.
오답 풀이
- 1번: 사용자 수준 스레드는 한 스레드가 시스템 호출 시 전체 프로세스가 블록될 수 있다.
- 2번: 동시 커널 접근은 커널 수준 스레드의 장점이다.
- 3번: 독립적 스케줄링은 커널 수준 스레드의 장점이다.
- 4번: 커널 전환 없이 교환 가능한 것이 사용자 수준 스레드의 장점이므로 정답이다.
보충 개념 사용자 수준 스레드는 라이브러리가 관리해 빠르지만 한 스레드 블록 시 전체가 블록된다.
- 1.
문제 78
4지선다한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 참조하는 경우의 결합도는?
- 1.
내용 결합도(Content Coupling)
- 2.
제어 결합도(Control Coupling)
- 3.
공통 결합도(Common Coupling)
- 4.
스탬프 결합도(Stamp Coupling)
정답·해설 보기▾
정답
1번
내용 결합도(Content Coupling)
해설
정답: 1. 다른 모듈의 내부 기능과 내부 자료를 직접 참조하는 것은 가장 강한 결합도인 내용 결합도(Content Coupling)이다.
오답 풀이
- 1번: 내부 기능·자료 참조는 내용 결합도이므로 정답이다.
- 2번: 제어 결합도는 제어 신호(플래그)를 전달하는 경우이다.
- 3번: 공통 결합도는 전역 변수를 공유하는 경우이다.
- 4번: 스탬프 결합도는 자료구조를 전달하는 경우이다.
보충 개념 결합도는 약한 순으로 자료 < 스탬프 < 제어 < 외부 < 공통 < 내용 결합도이다.
- 1.
문제 79
4지선다a[0]의 주소값이 10일 경우 다음 C언어 프로그램이 실행되었을 때의 결과는? (단, int 형의 크기는 4Byte로 가정한다.)
- 1.
14, 10
- 2.
14, 14
- 3.
18, 10
- 4.
18, 14
정답·해설 보기▾
정답
3번
18, 10
해설
정답: 3. a[0]의 주소가 10이고 int는 4바이트이므로 &a[2] = 10 + 2×4 = 18이고, 배열명 a는 첫 요소 a[0]의 주소이므로 10이다. 따라서 18, 10이 출력된다.
오답 풀이
- 1번: &a[2]는 14가 아니라 18이다(시작 주소 10 + 8).
- 2번: 두 번째 출력 a는 14가 아니라 a[0]의 주소인 10이다.
- 3번: &a[2]=18, a=10이므로 정답이다.
- 4번: a는 14가 아니라 10이다.
보충 개념 배열 요소의 주소는 시작 주소 + 인덱스 × 자료형 크기로 계산되며, 배열명 a는 첫 요소의 주소(&a[0])를 의미한다.
- 1.
문제 80
4지선다모듈화(Modularity)와 관련한 설명으로 틀린 것은?
- 1.
시스템을 모듈로 분할하면 각각의 모듈을 별개로 만들고 수정할 수 있기 때문에 좋은 구조가 된다.
- 2.
응집도는 모듈과 모듈 사이의 상호의존 또는 연관 정도를 의미한다.
- 3.
모듈 간의 결합도가 약해야 독립적인 모듈이 될 수 있다.
- 4.
모듈 내 구성 요소들 간의 응집도가 강해야 좋은 모듈 설계이다.
정답·해설 보기▾
정답
2번
응집도는 모듈과 모듈 사이의 상호의존 또는 연관 정도를 의미한다.
해설
정답: 2. 모듈 간 상호의존·연관 정도는 결합도(Coupling)이다. 응집도는 모듈 내부 요소들의 연관 정도이다.
오답 풀이
- 1번: 모듈 분할로 별개 수정이 가능한 것이 맞다.
- 2번: 모듈 간 연관 정도를 응집도라 한 것은 결합도이므로 틀렸다.
- 3번: 결합도가 약해야 독립적 모듈이 되는 것이 맞다.
- 4번: 응집도가 강해야 좋은 설계인 것이 맞다.
보충 개념 좋은 모듈 설계는 결합도는 낮추고 응집도는 높이는 것이다.
- 1.
문제 81
4지선다소프트웨어 개발에서 정보보안 3요소에 해당 하지 않는 설명은?
- 1.
기밀성 : 인가된 사용자에 대해서만 자원 접근이 가능하다.
- 2.
무결성 : 인가된 사용자에 대해서만 자원 수정이 가능하며 전송중인 정보는 수정되지 않는다.
- 3.
가용성 : 인가된 사용자는 가지고 있는 권한 범위 내에서 언제든 자원 접근이 가능하다.
- 4.
휘발성 : 인가된 사용자가 수행한 데이터는 처리 완료 즉시 폐기 되어야 한다.
정답·해설 보기▾
정답
4번
휘발성 : 인가된 사용자가 수행한 데이터는 처리 완료 즉시 폐기 되어야 한다.
해설
정답: 4. 정보보안 3요소는 기밀성, 무결성, 가용성이며 휘발성은 포함되지 않는다.
오답 풀이
- 1번: 기밀성에 대한 올바른 설명이다.
- 2번: 무결성에 대한 올바른 설명이다.
- 3번: 가용성에 대한 올바른 설명이다.
- 4번: 휘발성은 정보보안 3요소가 아니므로 정답이다.
보충 개념 정보보안의 3대 요소(CIA)는 기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability)이다.
- 1.
문제 82
4지선다어떤 외부 컴퓨터가 접속되면 접속 인가 여부를 점검해서 인가된 경우에는 접속이 허용되고, 그 반대의 경우에는 거부할 수 있는 접근제어 유틸리티는?
- 1.
tcp wrapper
- 2.
trace checker
- 3.
token finder
- 4.
change detector
정답·해설 보기▾
정답
1번
tcp wrapper
해설
정답: 1. 외부 접속의 인가 여부를 점검해 허용·거부하는 접근제어 유틸리티는 TCP Wrapper이다.
오답 풀이
- 1번: 접속 인가를 점검하는 유틸리티는 TCP Wrapper이므로 정답이다.
- 2번: trace checker는 표준 보안 유틸리티가 아니다.
- 3번: token finder는 해당 기능과 무관하다.
- 4번: change detector는 변경 탐지 도구로 접근제어와 다르다.
보충 개념 TCP Wrapper는 hosts.allow와 hosts.deny 파일로 접근을 제어하는 유닉스 보안 도구이다.
- 1.
문제 83
4지선다기기를 키오스크에 갖다 대면 원하는 데이터를 바로 가져올 수 있는 기술로 10㎝ 이내 근접 거리에서 기가급 속도로 데이터 전송이 가능한 초고속 근접무선통신(NFC : Near Field Communication) 기술은?
- 1.
BcN(Broadband Convergence Network)
- 2.
Zing
- 3.
Marine Navi
- 4.
C-V2X(Cellular Vehicle To Everything)
정답·해설 보기▾
정답
2번
Zing
해설
정답: 2. 10cm 이내 근접 거리에서 기가급 속도로 전송하는 초고속 근접무선통신 기술은 Zing이다.
오답 풀이
- 1번: BcN은 광대역 통합망으로 근접 통신 기술이 아니다.
- 2번: 기가급 근접 무선통신 기술은 Zing이므로 정답이다.
- 3번: Marine Navi는 해상 내비게이션 관련 기술이다.
- 4번: C-V2X는 차량 통신 기술이다.
보충 개념 Zing은 국내에서 개발된 초고속 근접 무선통신 기술로 키오스크 데이터 전송 등에 사용된다.
- 1.
문제 84
4지선다취약점 관리를 위한 응용 프로그램의 보안 설정과 가장 거리가 먼 것은?
- 1.
서버 관리실 출입 통제
- 2.
실행 프로세스 권한 설정
- 3.
운영체제의 접근 제한
- 4.
운영체제의 정보 수집 제한
정답·해설 보기▾
정답
1번
서버 관리실 출입 통제
해설
정답: 1. 서버 관리실 출입 통제는 물리적 보안에 해당하며 응용 프로그램의 보안 설정과는 거리가 멀다.
오답 풀이
- 1번: 출입 통제는 물리적 보안이므로 응용 프로그램 보안 설정과 거리가 멀어 정답이다.
- 2번: 실행 프로세스 권한 설정은 응용 보안 설정이다.
- 3번: 운영체제 접근 제한은 보안 설정에 해당한다.
- 4번: 운영체제 정보 수집 제한은 보안 설정에 해당한다.
보충 개념 보안은 물리적·기술적·관리적 보안으로 나뉘며, 출입 통제는 물리적 보안이다.
- 1.
문제 85
4지선다소프트웨어 개발 프레임워크와 관련한 설명으로 가장 적절하지 않은 것은?
- 1.
반제품 상태의 제품을 토대로 도메인별로 필요한 서비스 컴포넌트를 사용하여 재사용성 확대와 성능을 보장 받을 수 있게 하는 개발 소프트웨어이다.
- 2.
라이브러리와는 달리 사용자 코드에서 프레임워크를 호출해서 사용하고, 그에 대한 제어도 사용자 코드가 가지는 방식이다.
- 3.
설계 관점에 개발 방식을 패턴화시키기 위한 노력의 결과물인 소프트웨어 디자인 패턴을 반제품 소프트웨어 상태로 집적화시킨 것으로 볼 수 있다.
- 4.
프레임워크의 동작 원리를 그 제어 흐름의 일반적인 프로그램 흐름과 반대로 동작한다고 해서 IoC(Inversion of Control)이라고 설명하기도 한다.
정답·해설 보기▾
정답
2번
라이브러리와는 달리 사용자 코드에서 프레임워크를 호출해서 사용하고, 그에 대한 제어도 사용자 코드가 가지는 방식이다.
해설
정답: 2. 프레임워크는 제어의 역전(IoC)으로 프레임워크가 사용자 코드를 호출하며 제어권을 가진다. 사용자 코드가 제어를 가지는 것은 라이브러리이다.
오답 풀이
- 1번: 재사용성과 성능 보장에 대한 설명이 맞다.
- 2번: 사용자 코드가 제어를 가진다는 설명은 라이브러리에 대한 것이므로 틀렸다.
- 3번: 디자인 패턴 집적화 설명이 맞다.
- 4번: IoC에 대한 설명이 맞다.
보충 개념 프레임워크는 IoC를 통해 프레임워크가 흐름을 제어하고 사용자 코드를 호출한다.
- 1.
문제 86
4지선다클라우드 기반 HSM(Cloud-based Hardware Security Module)에 대한 설명으로 틀린 것은?
- 1.
클라우드(데이터센터) 기반 암호화 키 생성, 처리, 저장 등을 하는 보안 기기이다.
- 2.
국내에서는 공인인증제의 폐지와 전자서명법 개정을 추진하면서 클라우드 HSM 용어가 자주 등장하였다.
- 3.
클라우드에 인증서를 저장하므로 기존 HSM 기기나 휴대폰에 인증서를 저장해 다닐 필요가 없다.
- 4.
하드웨어가 아닌 소프트웨어적으로만 구현되기 때문에 소프트웨어식 암호 기술에 내재된 보안 취약점을 해결할 수 없다는 것이 주요 단점이다.
정답·해설 보기▾
정답
4번
하드웨어가 아닌 소프트웨어적으로만 구현되기 때문에 소프트웨어식 암호 기술에 내재된 보안 취약점을 해결할 수 없다는 것이 주요 단점이다.
해설
정답: 4. 클라우드 HSM은 하드웨어 보안 모듈을 기반으로 하여 소프트웨어 방식의 취약점을 보완하므로 소프트웨어로만 구현된다는 설명은 틀렸다.
오답 풀이
- 1번: 암호화 키 생성·처리·저장 보안 기기라는 설명이 맞다.
- 2번: 공인인증제 폐지 관련 등장 배경이 맞다.
- 3번: 클라우드 인증서 저장에 대한 설명이 맞다.
- 4번: 소프트웨어로만 구현된다는 설명은 HSM의 하드웨어 기반 특성에 반하므로 틀렸다.
보충 개념 HSM은 암호화 키를 안전하게 관리하는 전용 하드웨어 보안 장치이다.
- 1.
문제 87
4지선다다음 내용이 설명하는 기술로 가장 적절한 것은?
- 다양한 무선 통신 기기를 그물망처럼 서로 연결하는 네트워크 구조이다.
- 각 노드가 다른 노드의 데이터 전달 경로 역할을 하여 통신 범위를 확장한다.
- 일부 노드 장애 시에도 다른 경로로 우회하여 통신을 유지한다.
- 1.
Virtual Local Area Network
- 2.
Simple Station Network
- 3.
Mesh Network
- 4.
Modem Network
정답·해설 보기▾
정답
3번
Mesh Network
해설
정답: 3. 노드들이 그물망 형태로 연결되어 서로 데이터를 중계하는 네트워크는 메시 네트워크(Mesh Network)이다.
오답 풀이
- 1번: VLAN은 논리적으로 분할된 가상 LAN이다.
- 2번: Simple Station Network는 표준 용어가 아니다.
- 3번: 그물망 구조의 무선 네트워크는 메시 네트워크이므로 정답이다.
- 4번: Modem Network는 해당 설명과 무관하다.
보충 개념 메시 네트워크는 노드 간 다중 경로로 연결되어 일부 노드 장애에도 통신을 유지한다.
문제 88
4지선다물리적 위협으로 인한 문제에 해당하지 않는 것은?
- 1.
화재, 홍수 등 천재지변으로 인한 위협
- 2.
하드웨어 파손, 고장으로 인한 장애
- 3.
방화, 테러로 인한 하드웨어와 기록장치를 물리적으로 파괴하는 행위
- 4.
방화벽 설정의 잘못된 조작으로 인한 네트워크, 서버 보안 위협
정답·해설 보기▾
정답
4번
방화벽 설정의 잘못된 조작으로 인한 네트워크, 서버 보안 위협
해설
정답: 4. 방화벽 설정 오조작은 논리적(기술적/관리적) 위협이며 물리적 위협이 아니다.
오답 풀이
- 1번: 천재지변은 물리적 위협에 해당한다.
- 2번: 하드웨어 파손·고장은 물리적 위협에 해당한다.
- 3번: 물리적 파괴 행위는 물리적 위협에 해당한다.
- 4번: 방화벽 설정 오조작은 물리적 위협이 아니므로 정답이다.
보충 개념 물리적 위협은 천재지변·장비 파손 등 물리적 요인에 의한 것이다.
- 1.
문제 89
4지선다악성코드의 유형 중 다른 컴퓨터의 취약점을 이용하여 스스로 전파하거나 메일로 전파되며 스스로를 증식하는 것은?
- 1.
Worm
- 2.
Rogue Ware
- 3.
Adware
- 4.
Reflection Attack
정답·해설 보기▾
정답
1번
Worm
해설
정답: 1. 취약점을 이용해 스스로 전파·증식하는 악성코드는 웜(Worm)이다.
오답 풀이
- 1번: 자가 전파·증식 악성코드는 웜이므로 정답이다.
- 2번: Rogue Ware는 가짜 백신 등 사기성 소프트웨어이다.
- 3번: Adware는 광고를 표시하는 소프트웨어이다.
- 4번: Reflection Attack은 반사 공격 기법이다.
보충 개념 웜은 숙주 파일 없이 네트워크를 통해 스스로 복제·전파되는 악성코드이다.
- 1.
문제 90
4지선다다음 설명에 해당하는 공격기법은?
- 정상보다 큰 크기의 ICMP 패킷을 전송하여 시스템을 마비시키는 공격이다.
- 큰 패킷이 단편화되어 전송된 뒤 재조합 과정에서 시스템에 부하를 일으킨다.
- 1.
Ping of Death
- 2.
Session Hijacking
- 3.
Piggyback Attack
- 4.
XSS
정답·해설 보기▾
정답
1번
Ping of Death
해설
정답: 1. 비정상적으로 큰 ICMP 패킷을 전송하여 시스템을 마비시키는 공격은 Ping of Death이다.
오답 풀이
- 1번: 큰 ICMP 패킷 전송 공격은 Ping of Death이므로 정답이다.
- 2번: Session Hijacking은 세션을 가로채는 공격이다.
- 3번: Piggyback Attack은 인증된 통로에 편승하는 공격이다.
- 4번: XSS는 웹 스크립트 삽입 공격이다.
보충 개념 Ping of Death는 IP 최대 크기를 초과하는 패킷을 단편화 전송해 재조합 시 시스템을 마비시킨다.
문제 91
4지선다다음 설명에 해당하는 소프트웨어는?
- 반제품 형태의 소프트웨어로 도메인별 서비스 컴포넌트를 재사용할 수 있게 한다.
- 제어의 역전(IoC)을 통해 애플리케이션의 흐름을 제어한다.
- 공통 기능을 미리 구현해 두어 개발 생산성과 품질을 높인다.
- 1.
전역 함수 라이브러리
- 2.
소프트웨어 개발 프레임워크
- 3.
컨테이너 아키텍처
- 4.
어휘 분석기
정답·해설 보기▾
정답
2번
소프트웨어 개발 프레임워크
해설
정답: 2. 반제품 형태로 재사용성을 제공하고 IoC로 흐름을 제어하는 소프트웨어는 소프트웨어 개발 프레임워크이다.
오답 풀이
- 1번: 전역 함수 라이브러리는 사용자 코드가 호출·제어한다.
- 2번: 재사용·IoC 특성을 가진 것은 개발 프레임워크이므로 정답이다.
- 3번: 컨테이너 아키텍처는 배포·실행 환경 관련 개념이다.
- 4번: 어휘 분석기는 컴파일러의 토큰 분석 모듈이다.
보충 개념 개발 프레임워크는 공통 기능을 제공하고 제어의 역전으로 개발 생산성을 높인다.
문제 92
4지선다소프트웨어 개발 방법론 중 애자일(Agile) 방법론의 특징과 가장 거리가 먼 것은?
- 1.
각 단계의 결과가 완전히 확인된 후 다음 단계 진행
- 2.
소프트웨어 개발에 참여하는 구성원들 간의 의사소통 중시
- 3.
환경 변화에 대한 즉시 대응
- 4.
프로젝트 상황에 따른 주기적 조정
정답·해설 보기▾
정답
1번
각 단계의 결과가 완전히 확인된 후 다음 단계 진행
해설
정답: 1. 각 단계가 완전히 확인된 후 다음 단계로 진행하는 것은 폭포수 모델의 특징이며 애자일과 거리가 멀다.
오답 풀이
- 1번: 단계 완료 후 다음 단계 진행은 폭포수 모델이므로 정답이다.
- 2번: 구성원 간 의사소통 중시는 애자일 특징이다.
- 3번: 환경 변화 즉시 대응은 애자일 특징이다.
- 4번: 주기적 조정은 애자일 특징이다.
보충 개념 애자일은 반복적·점진적 개발과 변화 대응을 중시하며 폭포수 모델의 순차적 진행과 대비된다.
- 1.
문제 93
4지선다대칭 암호 알고리즘과 비대칭 암호 알고리즘에 대한 설명으로 틀린 것은?
- 1.
대칭 암호 알고리즘은 비교적 실행 속도가 빠르기 때문에 다양한 암호의 핵심 함수로 사용될 수 있다.
- 2.
대칭 암호 알고리즘은 비밀키 전달을 위한 키 교환이 필요하지 않아 암호화 및 복호화의 속도가 빠르다.
- 3.
비대칭 암호 알고리즘은 자신만이 보관하는 비밀키를 이용하여 인증, 전자서명 등에 적용이 가능하다.
- 4.
대표적인 대칭키 암호 알고리즘으로는 AES, IDEA 등이 있다.
정답·해설 보기▾
정답
2번
대칭 암호 알고리즘은 비밀키 전달을 위한 키 교환이 필요하지 않아 암호화 및 복호화의 속도가 빠르다.
해설
정답: 2. 대칭 암호는 송수신자가 같은 비밀키를 공유해야 하므로 키 교환(분배) 문제가 발생한다.
오답 풀이
- 1번: 대칭 암호가 빠르다는 설명이 맞다.
- 2번: 키 교환이 필요하지 않다는 설명은 틀렸다(키 분배 문제가 있다).
- 3번: 비대칭 암호의 비밀키 활용 설명이 맞다.
- 4번: AES, IDEA가 대칭키 알고리즘인 것이 맞다.
보충 개념 대칭키는 키 분배 문제가 있고, 비대칭키는 공개키/개인키 쌍으로 키 분배 문제를 해결한다.
- 1.
문제 94
4지선다두 명의 개발자가 5개월에 걸쳐 10000 라인의 코드를 개발하였을 때, 월별(man-month) 생산성 측정을 위한 계산 방식으로 가장 적합한 것은?
- 1.
10000/2
- 2.
10000/(5×2)
- 3.
10000/5
- 4.
(2×10000)/5
정답·해설 보기▾
정답
2번
10000/(5×2)
해설
정답: 2. man-month 생산성 = 총 라인 수 / (개발 기간 × 인원) = 10000 / (5×2)이다.
오답 풀이
- 1번: 인원으로만 나누어 기간을 반영하지 못했다.
- 2번: 기간×인원으로 나눈 10000/(5×2)가 정답이다.
- 3번: 기간으로만 나누어 인원을 반영하지 못했다.
- 4번: 분자에 인원을 곱한 것은 올바른 생산성 공식이 아니다.
보충 개념 man-month 생산성은 총 작업량을 인원수와 기간의 곱으로 나눈 값이다.
- 1.
문제 95
4지선다접근 통제 방법 중 조직 내에서 직무, 직책 등 개인의 역할에 따라 결정하여 부여하는 접근 정책은?
- 1.
RBAC
- 2.
DAC
- 3.
MAC
- 4.
QAC
정답·해설 보기▾
정답
1번
RBAC
해설
정답: 1. 개인의 역할(직무·직책)에 따라 권한을 부여하는 접근 정책은 RBAC(Role-Based Access Control)이다.
오답 풀이
- 1번: 역할 기반 접근 통제는 RBAC이므로 정답이다.
- 2번: DAC는 자원 소유자가 권한을 부여하는 임의 접근 통제이다.
- 3번: MAC는 보안 등급 기반의 강제 접근 통제이다.
- 4번: QAC는 존재하지 않는 접근 통제 방식이다.
보충 개념 접근 통제는 DAC(임의), MAC(강제), RBAC(역할 기반)으로 구분된다.
- 1.
문제 96
4지선다COCOMO(Constructive Cost Model) 모형의 특징이 아닌 것은?
- 1.
프로젝트를 완성하는데 필요한 man-month로 산정 결과를 나타낼 수 있다.
- 2.
보헴(Boehm)이 제안한 것으로 원시코드 라인 수에 의한 비용 산정 기법이다.
- 3.
비교적 작은 규모의 프로젝트 기록을 통계 분석하여 얻은 결과를 반영한 모델이며 중소 규모 소프트웨어 프로젝트 비용 추정에 적합하다.
- 4.
프로젝트 개발유형에 따라 object, dynamic, function의 3가지 모드로 구분한다.
정답·해설 보기▾
정답
4번
프로젝트 개발유형에 따라 object, dynamic, function의 3가지 모드로 구분한다.
해설
정답: 4. COCOMO는 개발 유형을 organic, semi-detached, embedded의 3가지 모드로 구분한다. object·dynamic·function이 아니다.
오답 풀이
- 1번: man-month로 산정 결과를 나타내는 것이 맞다.
- 2번: 보헴이 제안한 LOC 기반 기법인 것이 맞다.
- 3번: 중소 규모 프로젝트 비용 추정에 적합한 것이 맞다.
- 4번: 모드 명칭이 틀렸으므로 정답이다.
보충 개념 COCOMO의 개발 모드는 단순형(organic), 중간형(semi-detached), 내장형(embedded)이다.
- 1.
문제 97
4지선다각 사용자 인증의 유형에 대한 설명으로 가장 적절하지 않은 것은?
- 1.
지식 : 주체는 '그가 알고 있는 것'을 보여주며 예시로는 패스워드, PIN 등이 있다.
- 2.
소유 : 주체는 '그가 가지고 있는 것'을 보여주며 예시로는 토큰, 스마트카드 등이 있다.
- 3.
존재 : 주체는 '그를 대체하는 것'을 보여주며 예시로는 패턴, QR 등이 있다.
- 4.
행위 : 주체는 '그가 하는 것'을 보여주며 예시로는 서명, 움직임, 음성 등이 있다.
정답·해설 보기▾
정답
3번
존재 : 주체는 '그를 대체하는 것'을 보여주며 예시로는 패턴, QR 등이 있다.
해설
정답: 3. 존재(생체) 인증은 '그 자신'을 보여주는 것으로 지문·홍채 등 생체 정보를 예시로 한다. 패턴·QR은 적절한 예가 아니다.
오답 풀이
- 1번: 지식 기반 인증(패스워드·PIN) 설명이 맞다.
- 2번: 소유 기반 인증(토큰·스마트카드) 설명이 맞다.
- 3번: 존재(생체) 인증의 설명·예시가 부적절하므로 정답이다.
- 4번: 행위 기반 인증(서명·음성) 설명이 맞다.
보충 개념 사용자 인증 유형은 지식·소유·존재(생체)·행위 기반으로 구분된다.
- 1.
문제 98
4지선다시스템의 사용자가 로그인하여 명령을 내리는 과정에 대한 시스템의 동작 중 다음 설명에 해당하는 것은?
- 시스템이 사용자에게 자원에 대한 접근 권한을 부여하기 전에, 사용자가 본인임을 확인하는 과정이다.
- 사용자 ID와 패스워드 등을 검증하여 정당한 사용자인지 식별한다.
- 1.
Aging
- 2.
Accounting
- 3.
Authorization
- 4.
Authentication
정답·해설 보기▾
정답
4번
Authentication
해설
정답: 4. 사용자가 본인임을 확인(ID·패스워드 검증)하는 과정은 인증(Authentication)이다.
오답 풀이
- 1번: Aging은 우선순위를 점진적으로 높이는 기법이다.
- 2번: Accounting은 자원 사용량을 기록·과금하는 과정이다.
- 3번: Authorization은 인증 후 권한을 부여하는 과정이다.
- 4번: 본인 확인 과정은 인증이므로 정답이다.
보충 개념 AAA는 인증(Authentication), 인가(Authorization), 과금(Accounting)을 의미한다.
문제 99
4지선다다음에서 설명하는 IT 기술은?
- 네트워크 제어부(Control Plane)와 데이터 전달부(Data Plane)를 분리하여 소프트웨어로 네트워크를 제어·관리한다.
- 중앙 컨트롤러가 네트워크 장비를 프로그래밍 방식으로 제어한다.
- 개방형 API(OpenFlow 등)를 통해 유연한 네트워크 구성이 가능하다.
- 1.
SDN(Software Defined Networking)
- 2.
NFS(Network File System)
- 3.
Network Mapper
- 4.
AOE Network
정답·해설 보기▾
정답
1번
SDN(Software Defined Networking)
해설
정답: 1. 제어부와 데이터 전달부를 분리하여 소프트웨어로 네트워크를 제어하는 기술은 SDN(Software Defined Networking)이다.
오답 풀이
- 1번: 제어부·데이터부 분리, 중앙 제어 기술은 SDN이므로 정답이다.
- 2번: NFS는 네트워크 파일 공유 시스템이다.
- 3번: Network Mapper(Nmap)는 네트워크 스캔 도구이다.
- 4번: AOE Network는 작업 표현 그래프로 해당 설명과 무관하다.
보충 개념 SDN은 OpenFlow 같은 개방형 프로토콜로 중앙 컨트롤러가 네트워크를 프로그래밍 제어한다.
문제 100
4지선다프로젝트 일정 관리 시 사용하는 PERT 차트에 대한 설명에 해당하는 것은?
- 1.
각 작업들이 언제 시작하고 언제 종료되는지에 대한 일정을 막대 도표를 이용하여 표시한다.
- 2.
시간선(Time-line) 차트라고도 한다.
- 3.
수평 막대의 길이는 각 작업의 기간을 나타낸다.
- 4.
작업들 간의 상호 관련성, 결정경로, 경계시간, 자원할당 등을 제시한다.
정답·해설 보기▾
정답
4번
작업들 간의 상호 관련성, 결정경로, 경계시간, 자원할당 등을 제시한다.
해설
정답: 4. PERT 차트는 작업 간 상호 관련성, 결정경로(임계경로), 경계시간, 자원할당 등을 네트워크 형태로 제시한다.
오답 풀이
- 1번: 막대 도표로 일정을 표시하는 것은 간트 차트이다.
- 2번: 시간선 차트라고 하는 것은 간트 차트이다.
- 3번: 수평 막대 길이로 기간을 나타내는 것은 간트 차트이다.
- 4번: 작업 관련성·임계경로 제시는 PERT 차트이므로 정답이다.
보충 개념 PERT는 작업 의존 관계와 임계경로를 분석하는 네트워크 기법이고, 간트 차트는 막대로 일정을 표시한다.
- 1.