21년-1회차-정보처리기사-필기 시험지 PDF 다운로드

21년-1회차-정보처리기사-필기
정보처리기사 필기 기출문제

21년-1회차-정보처리기사-필기

총 100문항 · 객관식 · A4 약 1장

1 / 1
A4정답 포함
정보처리기사 필기 기출문제모두CBT · moducbt.com

21년-1회차-정보처리기사-필기

100문항 · 객관식 · 정답·해설 포함
문제 1
운영체제 분석을 위해 리눅스에서 버전을 확인하고자 할 때 사용되는 명령어는?
1ls
2cat
3pwd
4uname
정답 및 해설

uname 명령어는 리눅스에서 커널 버전을 비롯한 시스템 정보를 출력하는 명령어로, uname -a 형태로 실행하면 운영체제 이름·커널 버전·아키텍처 등을 확인할 수 있다. ls는 파일 목록, cat은 파일 내용 출력, pwd는 현재 작업 디렉터리 확인용 명령어로 버전 확인과는 무관하다.

문제 2
통신을 위한 프로그램을 생성하여 포트를 할당하고, 클라이언트의 통신 요청 시 클라이언트와 연결하는 내·외부 송·수신 연계기술은?    
1DB링크 기술
2소켓 기술
3스크럼 기술
4프로토타입 기술
정답 및 해설

소켓(Socket) 기술은 프로그램이 특정 포트에 소켓을 개설(bind)하고 클라이언트의 연결 요청을 수신하여 통신 채널을 맺는 내·외부 송·수신 연계기술이다. DB링크는 데이터베이스 간 데이터 연동, 스크럼은 애자일 개발 방법론, 프로토타입은 개발 모델 용어로 포트 기반 통신 연계와는 관련이 없다.

문제 3
객체지향 개념에서 연관된 데이터와 함수를 함께 묶어 외부와 경계를 만들고 필요한 인터페이스만을 밖으로 드러내는 과정은?    
1메시지(Message)
2캡슐화(Encapsulation)
3다형성(Polymorphism)
4상속(Inheritance)
정답 및 해설

캡슐화(Encapsulation)는 객체 내부의 속성(데이터)과 메서드(함수)를 하나로 묶고 외부와의 경계를 형성하여, 필요한 인터페이스만 외부에 공개하고 세부 구현은 은닉하는 개념이다. 메시지는 객체 간 요청 전달 수단, 다형성은 동일 인터페이스가 다른 동작을 하는 성질, 상속은 상위 클래스 특성을 물려받는 개념으로 각각 캡슐화와 구분된다.

문제 4
GoF(Gangs of Four) 디자인 패턴의 생성패턴에 속하지 않는 것은?    
1추상 팩토리(Abstract Factory)
2빌더(Builder)
3어댑터(Adapter)
4싱글턴(Singleton)
정답 및 해설

GoF 디자인 패턴의 생성 패턴에는 추상 팩토리·빌더·팩토리 메서드·프로토타입·싱글턴 5가지가 속한다. 어댑터(Adapter)는 인터페이스가 다른 두 클래스를 연결해 함께 동작하도록 하는 구조 패턴에 속하므로 생성 패턴이 아니다.

문제 5
응용프로그램의 프로시저를 사용하여 원격 프로시저를 로컬 프로시저처럼 호출하는 방식의 미들웨어는?    
1WAS(Web Application Server)
2MOM(Message Oriented Middleware)
3RPC(Remote Procedure Call)
4ORB(Object Request Broker)
정답 및 해설

RPC(Remote Procedure Call)는 네트워크상의 원격 컴퓨터에 있는 프로시저(함수)를 마치 로컬 프로시저를 호출하듯 실행할 수 있게 해주는 미들웨어 방식이다. WAS는 웹 응용프로그램 실행 환경, MOM은 메시지 큐 기반 비동기 통신, ORB는 객체 간 요청을 중개하는 미들웨어로 각각 RPC와 구분되는 개념이다.

문제 6
바람직한 소프트웨어 설계 지침이 아닌 것은?    
1모듈의 기능을 예측할 수 있도록 정의한다.
2이식성을 고려한다.
3적당한 모듈의 크기를 유지한다.
4가능한 모듈을 독립적으로 생성하고 결합도를 최대화한다.
정답 및 해설

바람직한 소프트웨어 설계는 모듈 간 결합도(Coupling)는 최소화하고 모듈 내부의 응집도(Cohesion)는 최대화하는 것을 지침으로 삼는다. 따라서 '결합도를 최대화한다'는 이 원칙에 반하므로 바람직한 설계 지침이 아니다.

문제 7
객체지향 분석 방법론 중 Coad-Yourdon 방법에 해당하는 것은?    
1E-R 다이어그램을 사용하여 객체의 행위를 데이터 모델링하는데 초점을 둔 방법이다.
2객체, 동적, 기능 모델로 나누어 수행하는 방법이다.
3미시적 개발 프로세스와 거시적 개발 프로세스를 모두 사용하는 방법이다.
4Use-Case를 강조하여 사용하는 방법이다.
정답 및 해설

Coad-Yourdon 방법은 E-R 다이어그램을 활용하여 객체의 데이터와 행위를 함께 모델링하는 데 초점을 둔 객체지향 분석 방법론이다. 객체·동적·기능 모델로 나누어 분석하는 방식은 Rumbaugh의 OMT, 미시적·거시적 개발 프로세스를 함께 사용하는 방식은 Booch 방법, Use-Case를 강조하는 방식은 Jacobson의 OOSE에 해당한다.

문제 8
다음은 어떤 프로그램 구조를 나타낸다. 모듈 F에서의 fan-in과 fan-out의 수는 얼마인가?        
1fan-in : 2, fan-out : 3
2fan-in : 3, fan-out : 2
3fan-in : 1, fan-out : 2
4fan-in : 2, fan-out : 1
정답 및 해설

제시된 구조도에서 모듈 F를 호출하는 상위 모듈은 B·C·D 세 개이므로 fan-in은 3이고, F가 호출하는 하위 모듈은 G·H 두 개이므로 fan-out은 2이다.

문제 9
현행 시스템 분석에서 고려하지 않아도 되는 항목은?    
1DBMS 분석
2네트워크 분석
3운영체제 분석
4인적 자원 분석
정답 및 해설

현행 시스템 분석은 플랫폼 기능·네트워크·운영체제·DBMS 등 기술적 구성 요소를 대상으로 하드웨어·소프트웨어 환경과 성능을 파악하는 과정이다. 인적 자원 분석은 조직·인력 관리 영역에 해당하는 항목으로 현행 시스템(기술 인프라) 분석의 대상에 포함되지 않는다.

문제 10
분산 컴퓨팅 환경에서 서로 다른 기종 간의 하드웨어나 프로토콜, 통신환경 등을 연결하여 응용프로그램과 운영환경 간에 원만한 통신이 이루어질 수 있게 서비스를 제공하는 소프트웨어는?     
1미들웨어
2하드웨어
3오픈허브웨어
4그레이웨어
정답 및 해설

미들웨어(Middleware)는 분산 컴퓨팅 환경에서 서로 다른 하드웨어·프로토콜·통신환경을 가진 시스템 간에 응용프로그램과 운영환경을 원만히 연결해 주는 소프트웨어이다. 하드웨어는 물리적 장치, 오픈허브웨어·그레이웨어는 이러한 연계 기능을 지칭하는 표준 용어가 아니다.

문제 11
CASE(Computer Aided Software Engineering)에 대한 설명으로 틀린 것은?     
1소프트웨어 모듈의 재사용성이 향상된다.
2자동화된 기법을 통해 소프트웨어 품질이 향상된다.
3소프트웨어 사용자들에게 사용 방법을 신속히 숙지시키기 위해 사용된다.
4소프트웨어 유지보수를 간편하게 수행할 수 있다.
정답 및 해설

CASE(Computer Aided Software Engineering)는 소프트웨어 개발 과정을 자동화된 도구로 지원하여 모듈 재사용성 향상·품질 향상·유지보수 간편화를 목적으로 하는 기법이다.
이는 개발자와 개발 프로세스를 지원하는 도구이지, 최종 사용자에게 소프트웨어 사용법을 신속히 숙지시키기 위한 목적이 아니므로 해당 설명이 틀린 것이다.

문제 12
UML(Unified Modeling Language)에 대한 설명 중 틀린 것은?     
1기능적 모델은 사용자 측면에서 본 시스템 기능이며, UML에서는 Use case Diagram을 사용한다.
2정적 모델은 객체, 속성, 연관관계, 오퍼레이션의 시스템의 구조를 나타내며, UML에서는 Class Diagram을 사용한다.
3동적 모델은 시스템의 내부 동작을 말하며, UML에서는 Sequence Diagram, State Diagram, Activity Diagram을 사용한다.
4State Diagram은 객체들 사이의 메시지 교환을 나타내며, Sequence Diagram은 하나의 객체가 가진 상태와 그 상태의 변화에 의한 동작순서를 나타낸다.
정답 및 해설

UML에서 Sequence Diagram은 객체들 사이에 주고받는 메시지 교환(시간 순서에 따른 상호작용)을 나타내고, State Diagram은 하나의 객체가 가지는 상태와 그 상태 변화(동작순서)를 나타낸다.
해당 보기는 두 다이어그램의 역할을 서로 뒤바꿔 설명하고 있으므로 틀린 설명이다.

문제 13
기본 유스케이스 수행 시 특별한 조건을 만족할 때 수행하는 유스케이스는?     
1연관
2확장
3선택
4특화
정답 및 해설

유스케이스 다이어그램에서 기본 유스케이스를 수행하는 도중 특별한 조건을 만족할 때만 추가로 수행되는 유스케이스는 확장(extend) 관계로 표현한다.
이는 항상 포함되는 포함(include) 관계와 달리 조건부로 실행되는 선택적 흐름을 나타낸다.

문제 14
다음 중 요구사항 모델링에 활용되지 않는 것은?     
1애자일(Agile) 방법
2유스케이스 다이어그램(Use Case Diagram)
3시컨스 다이어그램(Sequence Diagram)
4단계 다이어그램(Phase Diagram)
정답 및 해설

요구사항 모델링에는 애자일 방법, 유스케이스 다이어그램, 시퀀스 다이어그램 등 사용자 요구와 시스템 동작을 표현하는 기법들이 활용된다.
반면 단계 다이어그램(Phase Diagram)은 요구사항 모델링 기법으로 쓰이지 않는 용어이므로 해당하지 않는다.

문제 15
디자인 패턴을 이용한 소프트웨어 재사용으로 얻어지는 장점이 아닌 것은?     
1소프트웨어 코드의 품질을 향상시킬 수 있다.
2개발 프로세스를 무시할 수 있다.
3개발자들 사이의 의사소통을 원활하게 할 수 있다.
4소프트웨어의 품질과 생산성을 향상시킬 수 있다.
정답 및 해설

디자인 패턴을 재사용하면 검증된 설계를 따르게 되어 코드 품질·의사소통·생산성이 향상되는 효과가 있다.
그러나 개발 프로세스를 무시할 수 있다는 것은 디자인 패턴 재사용의 장점이 아니라 오히려 잘못된 진술이므로 정답이다.

문제 16
럼바우(Rumbaugh) 분석기법에서 정보모델링이라고도 하며, 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규정하여 다이어그램을 표시하는 모델링은?     
1Object
2Dynamic
3Function
4Static
정답 및 해설

럼바우(Rumbaugh)의 OMT 분석기법 중 객체 모델링(Object Model)은 정보모델링이라고도 하며, 시스템에서 요구되는 객체를 찾아 속성·연산을 식별하고 객체 간의 관계를 다이어그램으로 표시하는 모델링이다.
동적 모델링은 상태 변화, 기능 모델링은 데이터 흐름을 다루는 것과 구분된다.

문제 17
소프트웨어를 개발하기 위한 비즈니스(업무)를 객체와 속성, 클래스와 멤버, 전체와 부분 등으로 나누어서 분석해 내는 기법은?     
1객체지향 분석
2구조적 분석
3기능적 분석
4실시간 분석
정답 및 해설

객체지향 분석은 업무(비즈니스)를 객체와 속성, 클래스와 멤버, 전체와 부분 등의 관계로 나누어 분석하는 기법이다.
업무를 기능 중심의 처리 절차로 나누는 구조적 분석과 달리, 객체 단위의 구조와 관계에 초점을 둔다.

문제 18
애자일 소프트웨어 개발 기법의 가치가 아닌 것은?     
1프로세스의 도구보다는 개인과 상호작용에 더 가치를 둔다.
2계약 협상보다는 고객과의 협업에 더 가치를 둔다.
3실제 작동하는 소프트웨어보다는 이해하기 좋은 문서에 더 가치를 둔다.
4계획을 따르기보다는 변화에 대응하는 것에 더 가치를 둔다.
정답 및 해설

애자일 선언문의 4대 가치는 프로세스·도구보다 개인과 상호작용, 계약 협상보다 고객과의 협업, 계획 준수보다 변화 대응, 그리고 포괄적 문서보다 실제 작동하는 소프트웨어에 더 가치를 두는 것이다.
해당 보기는 이를 반대로 서술하여 문서를 소프트웨어보다 우선시한다고 했으므로 틀린 설명이다.

문제 19
UML 다이어그램 중 시스템 내 클래스의 정적 구조를 표현하고 클래스와 클래스, 클래스의 속성 사이의 관계를 나타내는 것은?     
1Activity Diagram
2Modea Diagram
3State Diagram
4Class Diagram
정답 및 해설

클래스 다이어그램(Class Diagram)은 UML의 정적(구조) 다이어그램으로, 시스템 내 클래스들의 정적 구조와 클래스·속성 간의 관계를 표현한다.
동적인 흐름이나 상태를 표현하는 Activity Diagram, State Diagram과 구분된다.

문제 20
소프트웨어 설계시 제일 상위에 있는 main user function에서 시작하여 기능을 하위 기능들로 분할해 가면서 설계하는 방식은?     
1객체 지향 설계
2데이터 흐름 설계
3상향식 설계
4하향식 설계
정답 및 해설

최상위의 main user function에서 시작해 기능을 점차 하위 기능들로 분할해 나가며 설계하는 방식은 하향식 설계(Top-Down Design)이다.
이는 하위 모듈들을 먼저 구현한 후 이를 결합해 상위 시스템을 완성하는 상향식 설계와 대비되는 접근이다.

문제 21
구현 단계에서의 작업 절차를 순서에 맞게 나열한 것은?          
1㉠-㉡-㉢-㉣
2㉡-㉠-㉣-㉢
3㉢-㉠-㉡-㉣
4㉣-㉡-㉠-㉢
정답 및 해설

구현 단계의 표준 작업 절차는 코딩 작업을 계획한 뒤 이를 바탕으로 코딩을 수행하고, 작성된 코드를 컴파일하여 실행 가능한 형태로 만든 다음 마지막으로 테스트하는 순서를 따른다.
따라서 순서는 ㉡(코딩작업을 계획한다)-㉠(코딩한다)-㉣(컴파일한다)-㉢(코드를 테스트한다)이다.

문제 22
다음 자료에 대하여 “Selection Sort”를 사용하여 오름차순으로 정렬한 경우 PASS 3의 결과는?          
13, 4, 7, 9, 8
23, 4, 8, 9, 7
33, 8, 4, 9, 7
43, 4, 7, 8, 9
정답 및 해설

초기 자료 8, 3, 4, 9, 7에 Selection Sort를 적용하면 각 PASS마다 남은 구간에서 최솟값을 찾아 맨 앞과 교환한다.
PASS1: 최솟값 3을 첫 자리와 교환 → 3, 8, 4, 9, 7
PASS2: 남은 구간(8,4,9,7)에서 최솟값 4를 교환 → 3, 4, 8, 9, 7
PASS3: 남은 구간(8,9,7)에서 최솟값 7을 교환하면 3, 4, 7, 9, 8이 된다.

문제 23
하향식 통합시험을 위해 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈은?     
1Stub
2Driver
3Procedure
4Function
정답 및 해설

하향식 통합시험은 상위 모듈부터 순차적으로 통합하며, 아직 구현되지 않은 하위 모듈이 필요할 때 이를 일시적으로 대체하는 시험용 모듈인 Stub을 사용한다.
반대로 상위 모듈이 아직 없을 때 하위 모듈을 호출해 주는 임시 모듈은 Driver이며, 이는 상향식 통합시험에서 사용된다.

문제 24
다음 전위식(prefix)을 후위식(postfix)으로 옳게 표현한 것은?          
1A B C + D / * E -
2A B * C D / + E -
3A B * C + D / E -
4A B C + * D / E -
정답 및 해설

전위식 "- / * A + B C D E"는 오른쪽에서 왼쪽으로 스캔하며 연산자를 만날 때마다 직전에 쌓인 두 피연산자를 피연산자·피연산자·연산자 순으로 결합해 후위식을 만든다.
먼저 +로 B와 C를 묶어 BC+를 만들고, *로 A와 BC+를 묶어 ABC+*를 만든다.
이어서 /로 ABC+*와 D를 묶어 ABC+*D/를 만들고, 마지막으로 -로 이를 E와 묶어 A B C + * D / E -를 얻는다.

문제 25
그래프의 특수한 형태로 노드(Node)와 선분(Branch)으로 되어 있고, 정점 사이에 사이클(Cycle)이 형성되어 있지 않으며, 자료 사이의 관계성이 계층 형식으로 나타나는 비선형 구조는?     
1tree
2network
3stack
4distributed
정답 및 해설

사이클이 없고 정점 사이의 관계가 계층적으로 나타나는 비선형 자료구조는 트리(Tree)이다.
네트워크는 사이클이 허용되는 더 일반적인 그래프 구조이고, 스택은 선형 자료구조라는 점에서 구별된다.

문제 26
스택에 대한 설명으로 틀린 것은?     
1입출력이 한쪽 끝으로만 제한된 리스트이다.
2Head(front)와 Tail(rear)의 2개 포인터를 갖고 있다.
3LIFO 구조이다.
4더 이상 삭제할 데이터가 없는 상태에서 데이터를 삭제하면 언더플로(Underflow)가 발생한다.
정답 및 해설

스택(Stack)은 삽입과 삭제가 한쪽 끝(top)에서만 이루어지는 LIFO 구조로, top 하나의 포인터만 사용한다.
Head(front)와 Tail(rear) 두 개의 포인터를 사용하는 것은 큐(Queue)의 특징이므로 이 설명이 틀렸다.

문제 27
디지털 저작권 관리(DRM)에 사용되는 기술요소가 아닌 것은?     
1키관리
2방화벽
3암호화
4크랙방지
정답 및 해설

DRM(디지털 저작권 관리)의 기술요소로는 콘텐츠를 보호하는 암호화, 암호 키를 관리하는 키관리, 불법 복제를 막는 크랙방지 등이 있다.
방화벽은 네트워크 경계에서 외부 침입을 차단하는 보안 기술로 DRM 고유의 기술요소에는 해당하지 않는다.

문제 28
여러 개의 선택 항목 중 하나의 선택만 가능한 경우 사용하는 사용자 인터페이스(UI)요소는?     
1토글 버튼
2텍스트 박스
3라디오 버튼
4체크 박스
정답 및 해설

여러 선택 항목 중 하나만 선택할 수 있도록 하는 사용자 인터페이스 요소는 라디오 버튼이다.
체크박스는 여러 항목을 동시에 선택할 수 있고, 토글 버튼은 두 상태(on/off)를 전환하는 용도라는 점에서 라디오 버튼과 다르다.

문제 29
소프트웨어의 일부분을 다른 시스템에서 사용할 수 있는 정도를 의미하는 것은?     
1신뢰성(Reliability)
2유지보수성(Maintainability)
3가시성(Visibility)
4재사용성(Reusability)
정답 및 해설

소프트웨어의 일부분을 다른 시스템에서도 활용할 수 있는 정도를 나타내는 품질 특성은 재사용성(Reusability)이다.
신뢰성은 오류 없이 기능을 수행하는 정도를, 유지보수성은 결함 수정·개선의 용이성을 뜻하므로 재사용성과 구별된다.

문제 30
자료구조에 대한 설명으로 틀린 것은?     
1큐는 비선형구조에 해당한다.
2큐는 First In – First Out 처리를 수행한다.
3스택은 Last In – First out 처리를 수행한다.
4스택은 서브루틴 호출, 인터럽트 처리, 수식 계산 및 수식 표기법에 응용된다.
정답 및 해설

큐(Queue)는 스택과 함께 선형 자료구조에 해당하므로 "큐는 비선형구조에 해당한다"는 설명이 틀렸다.
큐는 First In-First Out으로 동작하고, 스택은 Last In-First Out 구조로 서브루틴 호출·인터럽트 처리·수식 계산 등에 활용된다는 나머지 설명은 모두 옳다.

문제 31
다음 중 블랙박스 검사 기법은?     
1경계값 분석
2조건 검사
3기초 경로 검사
4루프 검사
정답 및 해설

경계값 분석(Boundary Value Analysis)은 입력 범위의 경계 부근 값을 중점적으로 검사하는 대표적인 블랙박스 검사 기법이다. 반면 조건 검사·기초 경로 검사·루프 검사는 프로그램 내부의 논리 구조를 기준으로 테스트 케이스를 설계하는 화이트박스 검사 기법이다.

문제 32
이진 검색 알고리즘에 대한 설명으로 틀린 것은?     
1탐색 효율이 좋고 탐색 시간이 적게 소요된다.
2검색할 데이터가 정렬되어 있어야 한다.
3피보나치 수열에 따라 다음에 비교할 대상을 선정하여 검색한다.
4비교횟수를 거듭할 때마다 검색 대상이 되는 데이터의 수가 절반으로 줄어든다.
정답 및 해설

이진 검색(Binary Search)은 정렬된 자료의 중앙값과 비교하며 탐색 범위를 절반씩 좁혀가는 기법으로, 비교할 때마다 대상 데이터 수가 절반으로 줄어들어 탐색 효율이 높다. 다음에 비교할 대상을 피보나치 수열에 따라 정하는 것은 피보나치 검색의 특징이므로 이진 검색에 대한 설명으로는 틀리다.

문제 33
소프트웨어 품질목표 중 쉽게 배우고 사용할 수 있는 정도를 나타내는 것은?     
1Correctness
2Reliability
3Usability
4Integrity
정답 및 해설

Usability(사용 용이성)는 사용자가 소프트웨어의 사용 방법을 쉽게 배우고 능숙하게 사용할 수 있는 정도를 나타내는 품질 특성이다. Correctness는 정확성, Reliability는 신뢰성, Integrity는 무결성을 뜻하며 학습·사용 편의성과는 관련이 없다.

문제 34
테스트 케이스에 일반적으로 포함되는 항목이 아닌 것은?     
1테스트 조건
2테스트 데이터
3테스트 비용
4예상 결과
정답 및 해설

테스트 케이스는 일반적으로 테스트 조건·테스트 데이터(입력값)·예상 결과로 구성되어 실행 절차와 판정 기준을 정의한다. 테스트 비용은 테스트를 수행하는 데 드는 자원 소모를 뜻할 뿐 테스트 케이스의 구성 항목이 아니다.

문제 35
소프트웨어 설치 매뉴얼에 포함될 항목이 아닌 것은?     
1제품 소프트웨어 개요
2설치 관련 파일
3프로그램 삭제
4소프트웨어 개발 기간
정답 및 해설

설치 매뉴얼에는 제품 소프트웨어의 개요·설치 관련 파일·설치 절차·프로그램 삭제 방법 등 사용자가 설치·삭제를 수행하는 데 필요한 내용이 포함된다. 소프트웨어 개발 기간은 개발 프로세스 관리 정보로, 설치 매뉴얼의 구성 항목이 아니다.

문제 36
소프트웨어 형상관리(Configuration management)에 관한 설명으로 틀린 것은?     
1소프트웨어에서 일어나는 수정이나 변경을 알아내고 제어하는 것을 의미한다.
2소프트웨어 개발의 전체 비용을 줄이고, 개발 과정의 여러 방해 요인이 최소화되도록 보증하는 것을 목적으로 한다.
3형상관리를 위하여 구성된 팀을 “chief programmer team”이라고 한다.
4형상관리의 기능 중 하나는 버전 제어 기술이다.
정답 및 해설

형상관리는 소프트웨어의 수정·변경을 알아내고 통제하여 개발 비용을 줄이고 방해 요인을 최소화하는 활동이며, 버전 제어는 형상관리의 핵심 기능이다. 다만 형상관리를 수행하는 조직은 형상통제위원회(CCB)라 하며, chief programmer team은 이와 무관한 개발팀 조직 구성 방식이므로 형상관리 설명으로 틀리다.

문제 37
퀵 정렬에 관한 설명으로 옳은 것은?     
1레코드의 키 값을 분석하여 같은 값끼리 그 순서에 맞는 버킷에 분배하였다가 버킷의 순서대로 레코드를 꺼내어 정렬한다.
2주어진 파일에서 인접한 두 개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환한다.
3레코드의 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬한다.
4임의의 레코드 키와 매개변수(h)값만큼 떨어진 곳의 레코드 키를 비교하여 서로 교환해 가면서 정렬한다.
정답 및 해설

퀵 정렬은 피벗을 기준으로 파일을 두 부분으로 분할한 뒤 각 부분을 재귀적으로 나누어가며 정렬하는 분할 정복 방식이다. 레코드 키를 버킷에 분배하는 방식은 버킷(기수) 정렬, 인접 레코드를 비교·교환하는 방식은 버블 정렬, 매개변수(h) 간격으로 비교·교환하는 방식은 쉘 정렬의 특징이다.

문제 38
해싱 함수(Hashing Function)의 종류가 아닌 것은?     
1제곱법(mid-square)
2숫자분석법(digit analysis)
3개방주소법(open addressing)
4제산법(division)
정답 및 해설

해싱 함수에는 제산법·제곱법·숫자분석법·중첩법 등이 있다. 개방주소법(open addressing)은 해시 충돌이 발생했을 때 빈 버킷을 탐색해 저장하는 충돌 해결 기법이지 해싱 함수의 종류가 아니다.

문제 39
필드 테스팅(field testing)이라고도 불리며 개발자 없이 고객의 사용 환경에 소프트웨어를 설치하여 검사를 수행하는 인수검사 기법은?     
1베타 검사
2알파 검사
3형상 검사
4복구 검사
정답 및 해설

필드 테스팅이라고도 불리는 베타 검사는 개발자가 참여하지 않은 상태에서 고객의 실제 사용 환경에 소프트웨어를 설치해 다수의 사용자가 수행하는 인수검사이다. 반면 알파 검사는 개발자가 지켜보는 가운데 사용자가 개발 환경에서 수행하는 테스트라는 점에서 구분된다.

문제 40
다음 트리를 Preorder 운행법으로 운행할 경우 다섯 번째로 탐색되는 것은?          
1C
2E
3G
4H
정답 및 해설

Preorder(전위 순회)는 루트→왼쪽 서브트리→오른쪽 서브트리 순으로 방문한다. 주어진 트리를 이 순서로 따라가면 A, B, D, C, E, G, H, F 순으로 탐색되며, 다섯 번째로 탐색되는 노드는 E이다.

문제 41
결과 값이 아래와 같을 때 SQL 질의로 옳은 것은?          
1SELECT * FROM 공급자 WHERE공급자명 LIKE '%신%';
2SELECT * FROM 공급자 WHERE공급자명 LIKE '%대%';
3SELECT * FROM 공급자 WHERE공급자명 LIKE '%사%';
4SELECT * FROM 공급자 WHERE공급자명 IS NOT NULL;
정답 및 해설

결과 집합에는 대신공업사·신촌상사처럼 공급자명에 '신'이라는 문자가 포함된 행만 나타난다.
LIKE '%신%'는 문자열 어디에든 '신'이 들어간 값을 모두 찾는 패턴이므로 이 결과와 일치한다.
'%대%'는 대신공업사는 찾아도 신촌상사는 걸러내지 못해 결과가 달라지므로 옳지 않다.

문제 42
다음에서 설명하는 스키마(Schema)는?          
1개념 스키마
2내부 스키마
3외부 스키마
4내용 스키마
정답 및 해설

데이터베이스 전체의 논리적 구조를 정의하는 스키마는 개념 스키마이다.
데이터개체·관계·제약조건·접근권한·무결성 규칙 등 조직 전체 관점의 정의를 포함한다.
외부 스키마는 사용자·응용프로그램별 뷰, 내부 스키마는 물리적 저장 구조를 다룬다는 점에서 구분된다.

문제 43
데이터베이스 설계 단계 중 저장 레코드 양식설계, 레코드 집중의 분석 및 설계, 접근 경로 설계와 관계되는 것은?     
1논리적 설계
2요구 조건 분석
3개념적 설계
4물리적 설계
정답 및 해설

저장 레코드의 양식(포맷) 설계, 레코드 집중 분석 및 설계, 접근 경로 설계는 데이터를 실제 저장장치에 배치하는 단계에서 다루는 사항이다.
이는 물리적 설계의 산출물로, 개체-관계 모델링을 수행하는 개념적 설계나 스키마 변환·정규화를 수행하는 논리적 설계와는 구분된다.

문제 44
다음 릴레이션의 카디널리티와 차수가 옳게 나타낸 것은?          
1카디널리티 : 4, 차수 : 4
2카디널리티 : 4, 차수 : 6
3카디널리티 : 6, 차수 : 4
4카디널리티 : 6, 차수 : 6
정답 및 해설

릴레이션의 카디널리티는 튜플(행)의 수, 차수는 속성(열)의 수를 의미한다.
표에는 아이디·성명·나이·등급·적립금·가입년도 6개 속성과 4개의 튜플이 있으므로 카디널리티는 4, 차수는 6이다.

문제 45
다음과 같은 트랙잭션의 특성은?          
1원자성(atomicity)
2일관성(consistency)
3격리성(isolation)
4영속성(durability)
정답 및 해설

트랜잭션 수행 전의 데이터베이스 상태와 수행 완료 후의 상태가 항상 모순 없이 일치해야 한다는 성질은 일관성(consistency)이다.
이는 트랜잭션이 무결성 제약을 위반하지 않고 하나의 일관된 상태에서 다른 일관된 상태로 전이함을 의미한다.

문제 46
병행제어의 로킹(Locking) 단위에 대한 설명으로 옳지 않은 것은?     
1데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있다.
2로킹 단위가 작아지면 로킹 오버헤드가 증가한다.
3한꺼번에 로킹할 수 있는 단위를 로킹단위라고 한다.
4로킹 단위가 작아지면 병행성 수준이 낮아진다.
정답 및 해설

로킹 단위가 작아질수록(세분화될수록) 동시에 수행 가능한 트랜잭션 수가 늘어나 병행성 수준은 오히려 높아진다.
반면 관리해야 할 로크의 개수가 많아져 로킹 오버헤드는 증가한다.
따라서 '로킹 단위가 작아지면 병행성 수준이 낮아진다'는 설명은 통설과 반대되므로 옳지 않다.

문제 47
뷰(VIEW)에 대한 설명으로 옳지 않은 것은?     
1DBA는 보안 측면에서 뷰를 활용할 수 있다.
2뷰 위에 또 다른 뷰를 정의할 수 있다.
3뷰에 대한 삽입, 갱신, 삭제 연산 시 제약사항이 따르지 않는다.
4독립적인 인덱스를 가질 수 없다.
정답 및 해설

여러 테이블을 조인하거나 그룹 함수·DISTINCT 등을 포함한 뷰는 삽입·갱신·삭제 연산에 제약이 따른다.
따라서 '뷰에 대한 삽입·갱신·삭제 연산 시 제약사항이 따르지 않는다'는 설명이 틀리다.
DBA의 보안 활용, 뷰 위에 또 다른 뷰 정의 가능, 독립적인 인덱스를 가질 수 없다는 설명은 모두 옳다.

문제 48
다음 정의에서 말하는 기본 정규형은?          
1제1정규형(1NF)
2제2정규형(2NF)
3제3정규형(3NF)
4보이스/코드 정규형(BCNF)
정답 및 해설

릴레이션 R에 속한 모든 속성(도메인)의 값이 더 이상 분해할 수 없는 원자값(Atomic Value)만으로 구성되어야 한다는 조건은 제1정규형(1NF)의 정의이다.
제2정규형 이상은 완전 함수 종속·이행 종속 제거 등 추가 조건을 요구한다는 점에서 이와 구분된다.

문제 49
릴레이션 R1에 속한 애튜리뷰트의 조합인 외래키를 변경하려면 이를 참조하고 있는 릴레이션 R2의 기본키도 변경해야 하는데 이를 무엇이라 하는가?     
1정보 무결성
2고유 무결성
3널 제약성
4참조 무결성
정답 및 해설

릴레이션 R1의 외래키를 변경할 때 그 값을 참조하고 있는 릴레이션 R2의 기본키도 함께 변경되어야 일관성이 유지되는 제약을 참조 무결성이라 한다.
이는 외래키 값이 참조 대상 릴레이션의 기본키 값과 항상 일치하도록 보장하는 제약조건이다.

문제 50
시스템 카탈로그에 대한 설명으로 틀린 것은?     
1시스템 카탈로그의 갱신은 무결성 유지를 위하여 SQL을 이용하여 사용자가 직접 갱신하여야 한다.
2데이터베이스에 포함되는 데이터 객체에 대한 정의나 명세에 대한 정보를 유지관리한다.
3DBMS가 스스로 생성하고 유지하는 데이터베이스 내의 특별한 테이블의 집합체이다.
4카탈로그에 저장된 정보를 메타 데이터라고도 한다.
정답 및 해설

시스템 카탈로그는 DBMS가 스스로 생성·유지·갱신하는 메타데이터 저장소로, 데이터 객체의 정의·명세 정보를 담은 특별한 테이블 집합이다.
따라서 사용자가 무결성 유지를 위해 SQL로 직접 갱신해야 한다는 설명은 틀리다.
사용자는 SELECT로 카탈로그를 조회할 수 있지만 INSERT·UPDATE 등으로 직접 수정하지는 않는다.

문제 51
조건을 만족하는 릴레이션의 수평적 부분집합으로 구성하며, 연산자의 기호는 그리스 문자 시그마(σ)를 사용하는 관계대수 연산은?     
1Select
2Project
3Join
4Division
정답 및 해설

관계대수의 Select(σ)는 조건을 만족하는 튜플만 골라내는 수평적 부분집합 연산으로 기호 σ를 사용한다.
반면 Project(π)는 지정한 속성(열)만 추출하는 수직적 연산으로 기호 π를 쓴다는 점에서 구분된다.

문제 52
SQL에서 스키마(schema), 도메인(domain), 테이블(table), 뷰(view), 인덱스(index)를 정의하거나 변경 또는 삭제할 때 사용하는 언어는?     
1DML(Data Manipulation Language)
2DDL(Data Definition Language)
3DCL(Data Control Language)
4IDL(Interactive Data Language)
정답 및 해설

DDL(Data Definition Language)은 스키마·도메인·테이블·뷰·인덱스 등 데이터베이스 객체의 구조를 정의·변경·삭제하는 언어로 CREATE·ALTER·DROP 문이 이에 속한다.
데이터 조작은 DML, 권한 부여·회수는 DCL이 담당하므로 이 문항의 기능과는 구분된다.

문제 53
정규화를 거치지 않아 발생하게 되는 이상(anomaly) 현상의 종류에 대한 설명으로 옳지 않은 것은?     
1삭제 이상이란 릴레이션에서 한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 연쇄 삭제 현상이다.
2삽입 이상이란 릴레이션에서 데이터를 삽입할 때 의도와는 상관없이 원하지 않는 값들도 함께 삽입되는 현상이다.
3갱신 이상이란 릴레이션에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상이다.
4종속 이상이란 하나의 릴레이션에 하나 이상의 함수적 종속성이 존재하는 현상이다.
정답 및 해설

정규화를 거치지 않으면 삽입 이상·삭제 이상·갱신 이상 세 가지 유형의 이상현상이 발생하며, 이 셋이 표준적인 분류다.
단순히 하나 이상의 함수적 종속성이 존재하는 것은 정상적인 데이터 특성일 뿐 이상현상이 아니므로 종속 이상이라는 유형은 존재하지 않는다.

문제 54
관계 데이터 모델에서 릴레이션(relation)에 관한 설명으로 옳은 것은?     
1릴레이션의 각 행을 스키마(schema)라 하며, 예로 도서 릴레이션을 구성하는 스키마에서는 도서번호, 도서명, 저자, 가격 등이 있다.
2릴레이션의 각 열을 튜플(tuple)이라 하며, 하나의 튜플은 각 속성에서 정의된 값을 이용하여 구성된다.
3도메인(domain)은 하나의 속성이 가질 수 있는 같은 타입의 모든 값의 집합으로 각 속성의 도메인은 원자값을 갖는다.
4속성(attribute)은 한 개의 릴레이션의 논리적인 구조를 정의한 것으로 릴레이션의 이름과 릴레이션에 포함된 속성들의 집합을 의미한다.
정답 및 해설

도메인(domain)은 하나의 속성이 가질 수 있는 동일 타입의 모든 값의 집합이며, 각 속성의 도메인 값은 원자값이어야 한다.
릴레이션의 각 행은 튜플, 각 열은 속성이며, 릴레이션의 이름과 속성 집합으로 이루어진 논리적 구조 정의는 릴레이션 스키마이다.

문제 55
3NF에서 BCNF가 되기 위한 조건은?     
1이행적 함수 종속 제거
2부분적 함수 종속 제거
3다치 종속 제거
4결정자이면서 후보 키가 아닌 것 제거
정답 및 해설

3NF는 이행적 함수 종속을 제거한 상태이지만 후보키가 아닌 결정자가 남아있을 수 있다.
BCNF는 이러한 결정자이면서 후보키가 아닌 것을 제거하여 모든 결정자가 후보키가 되도록 강화한 정규형이다.

문제 56
데이터베이스 성능에 많은 영향을 주는 DBMS의 구성 요소로 테이블과 클러스터에 연관되어 독립적인 저장 공간을 보유하며, 데이터베이스에 저장된 자료를 더욱 빠르게 조회하기 위하여 사용되는 것은?     
1인덱스(Index)
2트랙잭션(Transaction)
3역정규화(Denormalization)
4트리거(Trigger)
정답 및 해설

인덱스(Index)는 테이블·클러스터와 연관되어 독립적인 저장 공간을 갖고 데이터베이스 조회 속도를 높이기 위해 사용되는 DBMS 구성요소다.
트랜잭션은 작업의 논리적 단위, 트리거는 이벤트에 반응해 자동 실행되는 절차로 조회 성능 향상이 목적인 인덱스와는 역할이 다르다.

문제 57

아래의 SQL문을 실행한 결과는?

[R1 테이블]

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

[R2 테이블]

학번과목번호학점점수
1000C100A91
1000C200A94
2000C300B85
3000C400A90
3000C500C75
3000C100A90
4000C400A95
4000C500A91
4000C100B80
4000C200C74
5000C400B85

[SQL 문]

SELECT 이름
FROM R1
WHERE 학번 IN
(SELECT 학번
FROM R2
WHERE 과목번호 = 'C100');
1
2
3
4
정답 및 해설

부속 질의가 과목번호 C100을 수강한 학번을 모으고 바깥 질의가 그 학번의 이름을 뽑으므로, 결과는 홍길동·강남길·오말자 세 행짜리 이름 컬럼이다.

R2 테이블에서 과목번호가 C100인 행의 학번은 1000, 3000, 4000 세 개다.

R1 테이블에서 이 학번에 대응하는 이름은 1000이 홍길동, 3000이 강남길, 4000이 오말자다.

  • 김철수(학번 2000)는 C300만 수강해 부속 질의 결과에 학번이 없다.
  • 장미화(학번 5000)는 C400만 수강해 역시 제외되므로, 장미화가 들어가거나 다섯 명이 모두 나오거나 김철수가 포함된 결과는 옳지 않다.
문제 58
『회원』테이블 생성 후 『주소』 필드(컬럼)가 누락되어 이를 추가하려고 한다. 이에 적합한 SQL명령어는?     
1DELETE
2RESTORE
3ALTER
4ACCESS
정답 및 해설

이미 생성된 테이블에 새로운 컬럼(필드)을 추가하려면 테이블의 구조 자체를 수정하는 ALTER 명령어를 사용하며, 'ALTER TABLE ~ ADD' 구문으로 컬럼을 추가한다.
DELETE는 행 삭제, RESTORE·ACCESS는 이러한 구조 변경 기능을 수행하지 않는다.

문제 59
트랙잭션을 수행하는 도중 장애로 인해 손상된 데이터베이스를 손상되기 이전에 정상적인 상태로 복구시키는 작업은?     
1Recovery
2Commit
3Abort
4Restart
정답 및 해설

Recovery(회복)는 트랜잭션 수행 중 장애로 손상된 데이터베이스를 장애 발생 이전의 정상 상태로 되돌리는 작업이다.
Commit은 트랜잭션의 정상 완료 확정, Abort는 트랜잭션 취소를 의미하므로 손상된 DB를 복구하는 개념과는 다르다.

문제 60
E-R 다이어그램의 표기법으로 옳지 않은 것은?     
1개체타입 - 사각형
2속성 - 타원
3관계집합 - 삼각형
4개체타입과 속성을 연결 – 선
정답 및 해설

E-R 다이어그램에서 관계집합(relationship set)마름모로 표기하며 삼각형은 사용하지 않는다.
개체타입은 사각형, 속성은 타원, 개체타입과 속성을 잇는 연결선은 직선으로 표기하는 것이 옳다.

문제 61
다음 중 응집도가 가장 높은 것은?     
1절차적 응집도
2순차적 응집도
3우연적 응집도
4논리적 응집도
정답 및 해설

모듈 내부 요소들의 관련성 정도를 나타내는 응집도는 기능적 > 순차적 > 교환적 > 절차적 > 시간적 > 논리적 > 우연적 순으로 강도가 낮아진다.
보기 중에서는 한 모듈의 처리 결과(출력)가 다음 활동의 입력으로 이어지며 순서대로 실행되는 순차적 응집도가 절차적·논리적·우연적 응집도보다 강도가 높다.

문제 62
OSI 7계층에서 물리적 연결을 이용해 신뢰성 있는 정보를 전송하려고 동기화, 오류제어, 흐름제어 등의 전송에러를 제어하는 계층은?     
1데이터 링크 계층
2물리 계층
3응용 계층
4표현 계층
정답 및 해설

OSI 7계층 중 인접 노드 간 물리적 링크 위에서 동기화·오류제어·흐름제어를 수행해 신뢰성 있는 프레임 전송을 담당하는 계층은 데이터 링크 계층이다.
물리 계층은 비트 단위의 전기적 신호 전송만 담당하며 오류·흐름제어 기능을 갖지 않는다.

문제 63
운영체제를 기능에 따라 분류할 경우 제어 프로그램이 아닌 것은?     
1데이터 관리 프로그램
2서비스 프로그램
3작업 제어 프로그램
4감시 프로그램
정답 및 해설

운영체제의 제어 프로그램은 시스템 전체를 통제하는 감시 프로그램, 작업 순서를 관리하는 작업 제어 프로그램, 파일과 데이터를 관리하는 데이터 관리 프로그램으로 구성된다.
서비스 프로그램은 언어 번역·유틸리티 등을 포함하는 처리 프로그램에 속하므로 제어 프로그램이 아니다.

문제 64
IEEE 802.3 LAN에서 사용되는 전송매체 접속제어(MAC) 방식은?     
1CSMA/CD
2Token Bus
3Token Ring
4Slotted Ring
정답 및 해설

IEEE 802.3 표준은 이더넷(Ethernet) LAN 규격으로, 매체 접속제어(MAC) 방식으로 CSMA/CD(반송파 감지 다중접속/충돌검출)를 사용한다.
Token Bus·Token Ring·Slotted Ring은 각각 다른 토큰 기반 표준(IEEE 802.4, 802.5 등)의 접속 방식이다.

문제 65
기억공간이 15K, 23K, 22K, 21K 순으로 빈 공간이 있을 때 기억장치 배치 전력으로 “First Fit”을 사용하여 17K의 프로그램을 적재할 경우 내부단편화의 크기는 얼마인가?     
15K
26K
37K
48K
정답 및 해설

First Fit은 요청 크기(17K) 이상인 빈 공간을 순서대로 탐색해 최초로 발견한 곳에 배치한다.
15K는 17K보다 작아 건너뛰고 다음의 23K 공간에 적재하므로, 내부단편화는 23K17K=6K23\text{K} - 17\text{K} = 6\text{K}가 된다.

문제 66
교착상태가 발생할 수 있는 조건이 아닌 것은?     
1Mutual exclusion
2Hold and wait
3Non-preemption
4Linear wait
정답 및 해설

교착상태의 4대 발생조건은 상호배제(Mutual exclusion)·점유대기(Hold and wait)·비선점(Non-preemption)·순환대기(Circular wait)이다.
보기의 Linear wait는 이 네 조건에 해당하지 않는 명칭으로, 정확한 네 번째 조건은 자원 요구가 원형으로 이어지는 순환대기다.

문제 67
IPv6에 대한 설명으로 틀린 것은?     
1멀티캐스팅(Multicast) 대신 브로드캐스트(Broadcast)를 사용한다.
2보안과 인증 확장 헤더를 사용함으로써 인터넷 계층의 보안기능을 강화하였다.
3애니캐스트(Anycast)는 하나의 호스트에서 그룹 내의 가장 가까운 곳에 있는 수신자에게 전달하는 방식이다.
4128비트 주소체계를 사용한다.
정답 및 해설

IPv6은 특정 그룹에만 전달하는 멀티캐스트와 가장 가까운 하나의 수신자에게 전달하는 애니캐스트를 사용하며, 비효율적인 브로드캐스트는 폐지되었다.
따라서 “멀티캐스팅 대신 브로드캐스트를 사용한다”는 설명은 사실과 반대이므로 틀린 내용이다. 128비트 주소체계와 보안·인증 확장 헤더(IPsec) 사용에 관한 나머지 설명은 옳다.

문제 68
TCP/IP 프로토콜에서 TCP가 해당하는 계층은?     
1데이터 링크 계층
2네트워크 계층
3트랜스포트 계층
4세션 계층
정답 및 해설

TCP/IP 프로토콜 스택에서 TCP는 종단 간 신뢰성 있는 데이터 전달을 담당하는 트랜스포트(전송) 계층에 해당한다.
데이터 링크·네트워크 계층은 각각 프레임 전달과 IP 라우팅을 담당하며, 세션 계층은 TCP/IP 4계층 구조에는 존재하지 않는 OSI 모델의 층위다.

문제 69
C언어에서 변수로 사용할 수 없는 것은?     
1data02
2int01
3_sub
4short
정답 및 해설

C언어에서 short는 정수형을 선언하는 예약어(키워드)이므로 식별자(변수명)로 사용할 수 없다.
data02, int01, _sub는 문자·숫자·밑줄로 구성되고 숫자로 시작하지 않으며 예약어와 겹치지 않아 유효한 변수명이다.

문제 70
다음 JAVA 코드 출력문의 결과는?          
15 + 2 = 345 + 2 = 34
25 + 2 + 3 + 45 + 2 = 7
37 = 77 + 7
45 + 2 = 345 + 2 = 7
정답 및 해설

첫 번째 출력문 System.out.println("5 + 2 = " + 3 + 4)는 문자열과의 + 연산이 왼쪽부터 순차 처리되어 "5 + 2 = "+3 → "5 + 2 = 3", 이어서 +4 → "5 + 2 = 34"가 출력된다.
두 번째 출력문은 괄호로 묶인 (3 + 4)가 먼저 정수 연산되어 7이 된 뒤 문자열과 결합되므로 "5 + 2 = 7"이 출력된다.
두 줄의 출력을 이으면 "5 + 2 = 34"와 "5 + 2 = 7"이 된다.

문제 71
C언어에서 문자열을 정수형으로 변환하는 라이브러리 함수는?     
1atoi( )
2atof( )
3itoa( )
4ceil( )
정답 및 해설

C언어에서 문자열을 정수형으로 변환하는 표준 라이브러리 함수는 atoi()이다.
atof()는 문자열을 실수형(double)으로, itoa()는 반대로 정수를 문자열로 변환하며, ceil()은 소수점을 올림 처리하는 함수이므로 문자열→정수 변환과는 관계가 없다.

문제 72
운영체제의 가상기억장치 관리에서 프로세스가 일정 시간동안 자주 참조하는 페이지들의 집합을 의미하는 것은?     
1Locality
2Deadlock
3Thrashing
4Working Set
정답 및 해설

Working Set은 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합을 의미하며, 이를 주기억장치에 유지시켜 페이지 부재(page fault)를 줄이는 가상기억장치 관리 기법의 근거가 된다.
Locality(지역성)는 이러한 참조 경향 자체를 뜻하는 개념이고, Thrashing은 페이지 교체가 과도해 성능이 급격히 저하되는 현상이므로 구분된다.

문제 73
결합도가 낮은 것부터 높은 순으로 옳게 나열한 것은?          
1(ㄱ) → (ㄴ) → (ㄹ) → (ㅂ) → (ㅁ) → (ㄷ)
2(ㄴ) → (ㄹ) → (ㅁ) → (ㅂ) → (ㄷ) → (ㄱ)
3(ㄴ) → (ㄹ) → (ㅂ) → (ㅁ) → (ㄷ) → (ㄱ)
4(ㄱ) → (ㄴ) → (ㄹ) → (ㅁ) → (ㅂ) → (ㄷ)
정답 및 해설

결합도는 자료 결합도 → 스탬프 결합도 → 제어 결합도 → 외부 결합도 → 공통 결합도 → 내용 결합도 순으로 낮은 것에서 높은 것으로 커진다.
제시된 (ㄴ)자료결합도·(ㄹ)스탬프결합도·(ㅂ)제어결합도·(ㅁ)외부결합도·(ㄷ)공통결합도·(ㄱ)내용결합도를 이 기준에 대입하면 (ㄴ)→(ㄹ)→(ㅂ)→(ㅁ)→(ㄷ)→(ㄱ) 순서가 되어 이 배열만 정답과 일치한다.

문제 74
다음 설명의 ㉠과 ㉡에 들어갈 내용으로 옳은 것은?          
1㉠ : Paging, ㉡ : Segmentation
2㉠ : Segmentation, ㉡ : Allocation
3㉠ : Segmentation, ㉡ : Compaction
4㉠ : Paging, ㉡ : Linking
정답 및 해설

제시문은 "프로그램을 고정된 크기의 일정한 블록으로 나누는 ㉠ 기법과 가변적인 크기의 블록으로 나누는 ㉡ 기법"을 설명하고 있다.
가상기억장치 관리에서 고정 크기 블록으로 분할하는 기법은 Paging이고, 가변 크기(의미 단위) 블록으로 분할하는 기법은 Segmentation이므로 ㉠은 Paging, ㉡은 Segmentation이다.

문제 75
라이브러리의 개념과 구성에 대한 설명 중 틀린 것은?     
1라이브러리란 필요할 때 찾아서 쓸 수 있도록 모듈화되어 제공되는 프로그램을 말한다.
2프로그래밍 언어에 따라 일반적으로 도움말, 설치 파일, 샘플 코드 등을 제공한다.
3외부 라이브러리는 프로그래밍 언어가 기본적으로 가지고 있는 라이브러리를 의미하며, 표준 라이브러리는 별도의 파일 설치를 필요로 하는 라이브러리를 의미한다.
4라이브러리는 모듈과 패키지를 총칭하며, 모듈이 개별 파일이라면 패키지는 파일들을 모아 놓은 폴더라고 볼 수 있다.
정답 및 해설

표준 라이브러리는 프로그래밍 언어가 기본적으로 내장하여 제공하는 라이브러리이고, 외부 라이브러리는 별도의 설치가 필요한 라이브러리이다.
③번은 이 정의를 서로 뒤바꿔 "외부 라이브러리=기본 내장, 표준 라이브러리=별도 설치 필요"로 서술했으므로 틀린 설명이다.

문제 76
C언어에서 산술 연산자가 아닌 것은?     
1%
2*
3/
4=
정답 및 해설

=는 값을 저장하는 대입(할당) 연산자이며 산술 연산자가 아니다.
%(나머지)·*(곱셈)·/(나눗셈)는 모두 두 피연산자에 대해 수치 연산을 수행하는 산술 연산자에 해당한다.

문제 77
UDP 특성에 해당되는 것은?     
1양방향 연결형 서비스를 제공한다.
2송신중에 링크를 유지관리하므로 신뢰성이 높다.
3순서제어, 오류제어, 흐름제어 기능을 한다.
4흐름제어나 순서제어가 없어 전송속도가 빠르다.
정답 및 해설

UDP는 비연결형(connectionless) 프로토콜로 흐름제어·오류제어·순서제어 기능이 없으며, 이 때문에 오버헤드가 적어 전송속도가 빠르다.
①·③번은 오히려 연결형이며 흐름·순서·오류제어를 수행하는 TCP의 특성이고, ②번도 링크 유지관리를 통한 높은 신뢰성 역시 TCP에 해당하므로 UDP 설명으로는 틀리다.

문제 78
JAVA에서 변수와 자료형에 대한 설명으로 틀린 것은?     
1변수는 어떤 값을 주기억 장치에 기억하기 위해서 사용하는 공간이다.
2변수의 자료형에 따라 저장할 수 있는 값의 종류와 범위가 달라진다.
3char 자료형은 나열된 여러 개의 문자를 저장하고자 할 때 사용한다.
4boolean 자료형은 조건이 참인지 거짓인지 판단하고자 할 때 사용한다.
정답 및 해설

Java의 char 자료형은 단일 16비트 유니코드 문자 하나만 저장하는 자료형이며, 여러 개의 문자(문자열)를 저장하는 것은 String 자료형의 역할이다.
따라서 "char 자료형은 나열된 여러 개의 문자를 저장"한다는 설명은 틀리며, 나머지 변수·자료형·boolean에 대한 설명은 모두 타당하다.

문제 79
다음은 파이썬으로 만들어진 반복문 코드이다. 이 코드의 결과는?          
1A, B, C 출력이 반복된다.
2A, B, C 까지만 출력된다.
3A, B, C, D 출력이 반복된다.
4A, B, C, D 까지만 출력된다.
정답 및 해설

while(True) 반복문 안에서 print('A'), print('B'), print('C')가 순서대로 출력된 뒤 continue가 실행되면 그 아래의 print('D')는 건너뛰고 즉시 while 조건 검사로 되돌아간다.
조건이 항상 True이므로 A, B, C 출력만 무한히 반복되고 D는 결코 출력되지 않는다.

문제 80
WAS(Web Application Server)가 아닌 것은?     
1JEUS
2JVM
3Tomcat
4WebSphere
정답 및 해설

JVM(Java Virtual Machine)은 자바 바이트코드를 실행하는 런타임 환경일 뿐, 웹 요청을 처리하고 동적 콘텐츠를 생성하는 WAS(Web Application Server)가 아니다.
JEUS·Tomcat·WebSphere는 모두 실제 서비스되는 대표적인 WAS 제품이므로 WAS가 아닌 것은 JVM이다.

문제 81
다음 암호 알고리즘 중 성격이 다른 하나는?     
1MD4
2MD5
3SHA-1
4AES
정답 및 해설

MD4·MD5·SHA-1은 모두 입력을 고정 길이 값으로 변환하고 복호화가 불가능한 해시 함수인 반면, AES는 암호화·복호화가 모두 가능한 대칭키 블록 암호 알고리즘이다.
따라서 나머지 셋과 성격이 다른 것은 해시 알고리즘이 아닌 AES이다.

문제 82
크래커가 침입하여 백도어를 만들어 놓거나, 설정파일을 변경했을 때 분석하는 도구는?     
1tripwire
2tcpdump
3cron
4netcat
정답 및 해설

tripwire는 시스템 파일의 체크섬(해시)을 주기적으로 비교해 무결성을 검사함으로써 백도어 설치나 설정파일 변조 등의 변경 여부를 탐지하는 도구다.
tcpdump는 네트워크 패킷 캡처, cron은 작업 스케줄러, netcat은 포트 간 데이터 송수신 도구로 파일 변조 탐지와는 무관하다.

문제 83

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

  • 사물통신, 사물인터넷과 같이 대역폭이 제한된 통신환경에 최적화하여 개발된 푸시기술 기반의 경량 메시지 전송 프로토콜
  • 메시지 매개자(Broker)를 통해 송신자가 특정 메시지를 발행하고 수신자가 메시지를 구독하는 방식
  • IBM이 주도하여 개발
1GRID
2TELNET
3GPN
4MQTT
정답 및 해설

브로커를 통한 발행/구독 방식의 경량 메시지 전송 프로토콜MQTT(Message Queuing Telemetry Transport)다.

대역폭이 좁고 전력·자원이 부족한 사물인터넷 환경을 겨냥해 헤더를 최소화했고, 송신자가 브로커에 메시지를 발행(publish)하면 해당 주제를 구독(subscribe)한 수신자에게 전달되는 구조다. IBM이 주도해 개발한 뒤 표준으로 자리 잡았다는 설명도 그대로 들어맞는다.

  • TELNET은 원격 단말 접속용 프로토콜로 메시지 브로커나 발행/구독 개념이 없다.
  • 그리드(GRID)는 분산된 컴퓨팅 자원을 묶어 쓰는 컴퓨팅 방식이지 메시지 전송 프로토콜이 아니다.
문제 84
나선형(Spiral) 모형의 주요 태스크에 해당되지 않는 것은?     
1버전 관리
2위험 분석
3개발
4평가
정답 및 해설

나선형(Spiral) 모형은 계획 수립, 위험 분석, 개발(공학), 고객 평가라는 4단계를 반복하며 진행되는 모델이다.
이 문제는 나선형 모형의 주요 태스크에 '해당되지 않는' 것을 묻고 있으므로, 위 네 단계에 포함되지 않는 버전 관리가 정답이다.

문제 85
정보 보안을 위한 접근통제 정책 종류에 해당하지 않는 것은?     
1임의적 접근 통제
2데이터 전환 접근 통제
3강제적 접근 통제
4역할 기반 접근 통제
정답 및 해설

정보 보안의 접근통제 정책은 임의적 접근통제(DAC)·강제적 접근통제(MAC)·역할 기반 접근통제(RBAC) 세 가지로 분류된다.
'데이터 전환 접근 통제'라는 정책 유형은 존재하지 않으므로 이것이 해당되지 않는 것이다.

문제 86
LOC기법에 의하여 예측된 총 라인수가 36,000라인, 개발에 참여할 프로그래머가 6명, 프로그래머들의 평균 생산성이 월간 300라인일 때 개발에 소요되는 기간은?     
15개월
210개월
315개월
420개월
정답 및 해설

LOC 기법의 개발 기간은 총 인월을 투입 인원으로 나누어 구한다.
총 인월은 36000÷300=12036000 \div 300 = 120인월이며, 이를 프로그래머 6명이 수행하면 개발 기간은 120÷6=20120 \div 6 = 20개월이다.

문제 87
정형화된 분석 절차에 따라 사용자 요구사항을 파악, 문서화하는 체계적 분석방법으로 자료흐름도, 자료사전, 소단위명세서의 특징을 갖는 것은?     
1구조적 개발 방법론
2객체지향 개발 방법론
3정보공학 방법론
4CBD 방법론
정답 및 해설

자료흐름도(DFD)·자료사전(DD)·소단위명세서(Mini-Spec)를 이용해 정형화된 절차로 사용자 요구사항을 분석·문서화하는 기법은 구조적 개발 방법론이다.
객체지향 방법론은 클래스·객체 중심의 분석이고 정보공학 방법론은 데이터 중심의 전사적 접근이라는 점에서 구조적 방법론과 구분된다.

문제 88
정보보호를 위한 암호화에 대한 설명으로 틀린 것은?     
1평문 – 암호화되기 전의 원본 메시지
2암호문 – 암호화가 적용된 메시지
3복호화 – 평문을 암호문으로 바꾸는 작업
4키(Key) - 적절한 암호화를 위하여 사용하는 값
정답 및 해설

복호화(Decryption)는 암호문을 평문으로 되돌리는 과정이며, 반대로 평문을 암호문으로 바꾸는 작업은 암호화(Encryption)다.
따라서 '복호화 – 평문을 암호문으로 바꾸는 작업'이라는 설명이 틀린 것이다.

문제 89
다음 내용이 설명하는 것은?          
1OTT
2Baas
3SDDC
4Wi-SUN
정답 및 해설

이미지의 설명 내용을 확인하면 클라우드 기반의 서비스 제공 모델로, 개발자가 서버 인프라 관리 없이 함수 단위로 코드를 실행하고 사용량에 따라 요금을 지불하는 방식을 나타내고 있습니다. 이는 Backend as a Service(BaaS)의 정의에 해당하며, 서버리스 컴퓨팅 또는 Function as a Service(FaaS) 형태의 클라우드 서비스입니다. OTT는 동영상 스트리밍 서비스, SDDC는 소프트웨어 정의 데이터센터, Wi-SUN은 무선통신 표준으로 이미지의 설명과는 무관합니다.

문제 90
소프트웨어 비용 산정 기법 중 개발 유형으로 organic, semi-detach, embedded로 구분되는 것은?     
1PUTNAM
2COCOMO
3FP
4SLIM
정답 및 해설

소프트웨어 개발 유형을 Organic(유기적)·Semi-detached(반분리형)·Embedded(내장형)로 나누어 비용을 산정하는 기법은 COCOMO 모델이다.
PUTNAM(SLIM)은 Rayleigh-Norden 곡선을 이용한 기법이고 FP는 기능점수 기반 기법으로, 이러한 3유형 분류와는 무관하다.

문제 91
다음 LAN의 네트워크 토폴로지는 어떤 형인가?          
1그물형
2십자형
3버스형
4링형
정답 및 해설

버스형 토폴로지는 하나의 공용 백본(버스) 케이블에 모든 노드가 일렬로 연결되고, 케이블 양 끝에는 신호 반사를 막는 터미네이터를 부착하는 구조다.
모든 통신이 단일 회선을 공유하므로 구조가 간단하고 설치비용이 저렴하지만, 회선의 한 지점이 단선되면 전체 네트워크 통신이 마비될 수 있다.

문제 92
전기 및 정보통신기술을 활용하여 전력망을 지능화, 고도화함으로써 고품질의 전력서비스를 제공하고 에너지 이용효율을 극대화하는 전력망은?     
1사물 인터넷
2스마트 그리드
3디지털 아카이빙
4미디어 빅뱅
정답 및 해설

스마트 그리드는 기존 전력망에 정보통신기술(ICT)을 접목해 전력 공급자와 소비자가 실시간으로 정보를 주고받으며 전력망을 지능화·고도화한 것으로, 에너지 이용 효율을 극대화하고 고품질의 전력 서비스를 제공한다.
사물 인터넷은 사물을 인터넷으로 연결하는 기술이고 디지털 아카이빙은 디지털 자료의 장기 보존을 의미할 뿐 전력망 자체와는 직접 관련이 없다.

문제 93
다음 내용이 설명하는 소프트웨어 개발 모형은?          
1프로토타입 모형
2나선형 모형
3폭포수 모형
4RAD 모형
정답 및 해설

폭포수 모형(Waterfall Model)은 요구사항 분석·설계·구현·테스트·유지보수의 각 단계를 순차적으로 진행하며 한 단계가 끝나야 다음 단계로 넘어가는 가장 전통적인 선형 순차적 생명주기 모형이다.
단계별 산출물이 명확해 관리가 쉬운 반면, 이전 단계로 되돌아가기 어렵고 개발 중 요구사항 변경을 반영하기 어렵다는 한계가 있다.

문제 94
스트림 암호화 방식의 설명으로 옳지 않은 것은?     
1비트/바이트/단어들을 순차적으로 암호화한다.
2해쉬 함수를 이용한 해쉬 암호화 방식을 사용한다.
3RC4는 스트림 암호화 방식에 해당한다.
4대칭키 암호화 방식이다.
정답 및 해설

스트림 암호는 비트·바이트·단어 단위로 평문을 순차적으로 암호화하는 대칭키 암호화 방식이며, RC4가 대표적인 스트림 암호 알고리즘이다.
스트림 암호는 키스트림 생성기(PRNG)가 만든 난수열과 평문을 XOR 연산해 암호화하는 구조이지 해쉬 함수를 이용한 해쉬 암호화 방식을 쓰지 않으므로, 이 설명이 옳지 않다.

문제 95
세션 하이재킹을 탐지하는 방법으로 거리가 먼 것은?     
1FTP SYN SEGNENT 탐지
2비동기화 상태 탐지
3ACK STORM 탐지
4패킷의 유실 및 재전송 증가 탐지
정답 및 해설

세션 하이재킹 탐지 기법으로는 정상 시퀀스 번호에서 어긋나는 비동기화 상태 탐지, 다량의 ACK 패킷이 오가는 ACK Storm 탐지, 시퀀스 불일치로 인한 패킷 유실 및 재전송 증가 탐지 등이 알려져 있다.
이에 비해 FTP SYN 세그먼트 탐지는 세션 하이재킹 탐지 기법으로 통용되지 않으므로 거리가 멀다.

문제 96
소프트웨어공학에 대한 설명으로 거리가 먼 것은?     
1소프트웨어공학이란 소프트웨어의 개발, 운용, 유지보수 및 파기에 대한 체계적인 접근 방법이다.
2소프트웨어공학은 소프트웨어 제품의 품질을 향상시키고 소프트웨어 생산성과 작업 만족도를 증대시키는 것이 목적이다.
3소프트웨어공학의 궁극적 목표는 최대의 비용으로 계획된 일정보다 가능한 빠른 시일 내에 소프트웨어를 개발하는 것이다.
4소프트웨어공학은 신뢰성 있는 소프트웨어를 경제적인 비용으로 획득하기 위해 공학적 원리를 정립하고 이를 이용하는 것이다.
정답 및 해설

소프트웨어공학의 목표는 신뢰성 있는 소프트웨어를 최소의 비용으로 계획된 일정 내에 개발해 생산성·품질과 작업 만족도를 높이는 데 있다.
따라서 "최대의 비용으로... 가능한 빠른 시일 내에 개발한다"는 설명은 비용을 최소화한다는 본래 목표와 어긋나므로 옳지 않다.

문제 97
소프트웨어 개발 방법론 중 CBD(Component Based Development)에 대한 설명으로 틀린 것은?     
1생산성과 품질을 높이고, 유지보수 비용을 최소화할 수 있다.
2컴포넌트 제작 기법을 통해 재사용성을 향상시킨다.
3모듈의 분할과 정복에 의한 하향식 설계방식이다.
4독립적인 컴포넌트 단위의 관리로 복잡성을 최소화할 수 있다.
정답 및 해설

CBD(Component Based Development)는 재사용 가능한 컴포넌트를 조립해 시스템을 구축하는 상향식(Bottom-Up) 개발 방식으로, 생산성·품질 향상과 유지보수 비용 최소화, 복잡성 최소화라는 장점을 가진다.
큰 모듈을 세부 단위로 나누어가는 하향식(Top-Down) 분할과 정복 방식은 CBD가 아니라 구조적 설계 기법의 특징이므로 이 설명이 틀렸다.

문제 98
정보 보안의 3요소에 해당하지 않는 것은?     
1기밀성
2무결성
3가용성
4휘발성
정답 및 해설

정보 보안의 3요소는 인가된 자만 정보에 접근할 수 있게 하는 기밀성, 정보가 변조되지 않고 정확함을 보장하는 무결성, 필요할 때 정보에 접근·이용할 수 있게 하는 가용성이다.
휘발성은 전원이 꺼지면 데이터가 사라지는 메모리의 성질을 뜻할 뿐 정보보안 3요소에 속하지 않는다.

문제 99
소셜 네트워크에서 악의적인 사용자가 지인 또는 특정 유명인으로 가장하여 활동하는 공격 기법은?
1Evil Twin Attack
2Phishing
3Logic Bomb
4Cyberbullying 1
정답 및 해설

이 문항은 원 설명이 제시된 공격 기법과 정확히 대응하지 않는 문제 오류로 판정되어, 공식적으로 Evil Twin Attack(①)이 정답으로 처리되었다.
따라서 개별 보기의 기술적 정의로 정답 근거를 단정하기보다, 공식 정답 처리 결과에 따른 것임을 밝힌다.

문제 100
공개키 암호에 대한 설명으로 틀린 것은?     
110명이 공개키 암호를 사용할 경우 5개의 키가 필요하다.
2복호화키는 비공개 되어 있다.
3송신자는 수신자의 공개키로 문서를 암호화한다.
4공개키 암호로 널리 알려진 알고리즘은 RSA가 있다.
정답 및 해설

공개키 암호(비대칭키 암호)는 사용자마다 공개키와 개인키(복호화키) 한 쌍을 가지며, 송신자는 수신자의 공개키로 문서를 암호화하고 수신자는 자신만 아는 개인키로 복호화하는 방식으로 RSA가 대표적이다.
n명이 공개키 암호를 사용하면 각자 한 쌍씩 총 2n2n개의 키가 필요하므로 10명이 사용할 경우 필요한 키는 5개가 아니라 2×10=202\times10=20개이며, 이 설명이 틀렸다.

정보처리기사 필기 기출문제모두CBT · moducbt.com

21년-1회차-정보처리기사-필기

100문항 · 객관식 · 정답·해설 포함
문제 1
운영체제 분석을 위해 리눅스에서 버전을 확인하고자 할 때 사용되는 명령어는?
1ls
2cat
3pwd
4uname
정답 및 해설

uname 명령어는 리눅스에서 커널 버전을 비롯한 시스템 정보를 출력하는 명령어로, uname -a 형태로 실행하면 운영체제 이름·커널 버전·아키텍처 등을 확인할 수 있다. ls는 파일 목록, cat은 파일 내용 출력, pwd는 현재 작업 디렉터리 확인용 명령어로 버전 확인과는 무관하다.

문제 2
통신을 위한 프로그램을 생성하여 포트를 할당하고, 클라이언트의 통신 요청 시 클라이언트와 연결하는 내·외부 송·수신 연계기술은?    
1DB링크 기술
2소켓 기술
3스크럼 기술
4프로토타입 기술
정답 및 해설

소켓(Socket) 기술은 프로그램이 특정 포트에 소켓을 개설(bind)하고 클라이언트의 연결 요청을 수신하여 통신 채널을 맺는 내·외부 송·수신 연계기술이다. DB링크는 데이터베이스 간 데이터 연동, 스크럼은 애자일 개발 방법론, 프로토타입은 개발 모델 용어로 포트 기반 통신 연계와는 관련이 없다.

문제 3
객체지향 개념에서 연관된 데이터와 함수를 함께 묶어 외부와 경계를 만들고 필요한 인터페이스만을 밖으로 드러내는 과정은?    
1메시지(Message)
2캡슐화(Encapsulation)
3다형성(Polymorphism)
4상속(Inheritance)
정답 및 해설

캡슐화(Encapsulation)는 객체 내부의 속성(데이터)과 메서드(함수)를 하나로 묶고 외부와의 경계를 형성하여, 필요한 인터페이스만 외부에 공개하고 세부 구현은 은닉하는 개념이다. 메시지는 객체 간 요청 전달 수단, 다형성은 동일 인터페이스가 다른 동작을 하는 성질, 상속은 상위 클래스 특성을 물려받는 개념으로 각각 캡슐화와 구분된다.

문제 4
GoF(Gangs of Four) 디자인 패턴의 생성패턴에 속하지 않는 것은?    
1추상 팩토리(Abstract Factory)
2빌더(Builder)
3어댑터(Adapter)
4싱글턴(Singleton)
정답 및 해설

GoF 디자인 패턴의 생성 패턴에는 추상 팩토리·빌더·팩토리 메서드·프로토타입·싱글턴 5가지가 속한다. 어댑터(Adapter)는 인터페이스가 다른 두 클래스를 연결해 함께 동작하도록 하는 구조 패턴에 속하므로 생성 패턴이 아니다.

문제 5
응용프로그램의 프로시저를 사용하여 원격 프로시저를 로컬 프로시저처럼 호출하는 방식의 미들웨어는?    
1WAS(Web Application Server)
2MOM(Message Oriented Middleware)
3RPC(Remote Procedure Call)
4ORB(Object Request Broker)
정답 및 해설

RPC(Remote Procedure Call)는 네트워크상의 원격 컴퓨터에 있는 프로시저(함수)를 마치 로컬 프로시저를 호출하듯 실행할 수 있게 해주는 미들웨어 방식이다. WAS는 웹 응용프로그램 실행 환경, MOM은 메시지 큐 기반 비동기 통신, ORB는 객체 간 요청을 중개하는 미들웨어로 각각 RPC와 구분되는 개념이다.

문제 6
바람직한 소프트웨어 설계 지침이 아닌 것은?    
1모듈의 기능을 예측할 수 있도록 정의한다.
2이식성을 고려한다.
3적당한 모듈의 크기를 유지한다.
4가능한 모듈을 독립적으로 생성하고 결합도를 최대화한다.
정답 및 해설

바람직한 소프트웨어 설계는 모듈 간 결합도(Coupling)는 최소화하고 모듈 내부의 응집도(Cohesion)는 최대화하는 것을 지침으로 삼는다. 따라서 '결합도를 최대화한다'는 이 원칙에 반하므로 바람직한 설계 지침이 아니다.

문제 7
객체지향 분석 방법론 중 Coad-Yourdon 방법에 해당하는 것은?    
1E-R 다이어그램을 사용하여 객체의 행위를 데이터 모델링하는데 초점을 둔 방법이다.
2객체, 동적, 기능 모델로 나누어 수행하는 방법이다.
3미시적 개발 프로세스와 거시적 개발 프로세스를 모두 사용하는 방법이다.
4Use-Case를 강조하여 사용하는 방법이다.
정답 및 해설

Coad-Yourdon 방법은 E-R 다이어그램을 활용하여 객체의 데이터와 행위를 함께 모델링하는 데 초점을 둔 객체지향 분석 방법론이다. 객체·동적·기능 모델로 나누어 분석하는 방식은 Rumbaugh의 OMT, 미시적·거시적 개발 프로세스를 함께 사용하는 방식은 Booch 방법, Use-Case를 강조하는 방식은 Jacobson의 OOSE에 해당한다.

문제 8
다음은 어떤 프로그램 구조를 나타낸다. 모듈 F에서의 fan-in과 fan-out의 수는 얼마인가?        
1fan-in : 2, fan-out : 3
2fan-in : 3, fan-out : 2
3fan-in : 1, fan-out : 2
4fan-in : 2, fan-out : 1
정답 및 해설

제시된 구조도에서 모듈 F를 호출하는 상위 모듈은 B·C·D 세 개이므로 fan-in은 3이고, F가 호출하는 하위 모듈은 G·H 두 개이므로 fan-out은 2이다.

문제 9
현행 시스템 분석에서 고려하지 않아도 되는 항목은?    
1DBMS 분석
2네트워크 분석
3운영체제 분석
4인적 자원 분석
정답 및 해설

현행 시스템 분석은 플랫폼 기능·네트워크·운영체제·DBMS 등 기술적 구성 요소를 대상으로 하드웨어·소프트웨어 환경과 성능을 파악하는 과정이다. 인적 자원 분석은 조직·인력 관리 영역에 해당하는 항목으로 현행 시스템(기술 인프라) 분석의 대상에 포함되지 않는다.

문제 10
분산 컴퓨팅 환경에서 서로 다른 기종 간의 하드웨어나 프로토콜, 통신환경 등을 연결하여 응용프로그램과 운영환경 간에 원만한 통신이 이루어질 수 있게 서비스를 제공하는 소프트웨어는?     
1미들웨어
2하드웨어
3오픈허브웨어
4그레이웨어
정답 및 해설

미들웨어(Middleware)는 분산 컴퓨팅 환경에서 서로 다른 하드웨어·프로토콜·통신환경을 가진 시스템 간에 응용프로그램과 운영환경을 원만히 연결해 주는 소프트웨어이다. 하드웨어는 물리적 장치, 오픈허브웨어·그레이웨어는 이러한 연계 기능을 지칭하는 표준 용어가 아니다.

문제 11
CASE(Computer Aided Software Engineering)에 대한 설명으로 틀린 것은?     
1소프트웨어 모듈의 재사용성이 향상된다.
2자동화된 기법을 통해 소프트웨어 품질이 향상된다.
3소프트웨어 사용자들에게 사용 방법을 신속히 숙지시키기 위해 사용된다.
4소프트웨어 유지보수를 간편하게 수행할 수 있다.
정답 및 해설

CASE(Computer Aided Software Engineering)는 소프트웨어 개발 과정을 자동화된 도구로 지원하여 모듈 재사용성 향상·품질 향상·유지보수 간편화를 목적으로 하는 기법이다.
이는 개발자와 개발 프로세스를 지원하는 도구이지, 최종 사용자에게 소프트웨어 사용법을 신속히 숙지시키기 위한 목적이 아니므로 해당 설명이 틀린 것이다.

문제 12
UML(Unified Modeling Language)에 대한 설명 중 틀린 것은?     
1기능적 모델은 사용자 측면에서 본 시스템 기능이며, UML에서는 Use case Diagram을 사용한다.
2정적 모델은 객체, 속성, 연관관계, 오퍼레이션의 시스템의 구조를 나타내며, UML에서는 Class Diagram을 사용한다.
3동적 모델은 시스템의 내부 동작을 말하며, UML에서는 Sequence Diagram, State Diagram, Activity Diagram을 사용한다.
4State Diagram은 객체들 사이의 메시지 교환을 나타내며, Sequence Diagram은 하나의 객체가 가진 상태와 그 상태의 변화에 의한 동작순서를 나타낸다.
정답 및 해설

UML에서 Sequence Diagram은 객체들 사이에 주고받는 메시지 교환(시간 순서에 따른 상호작용)을 나타내고, State Diagram은 하나의 객체가 가지는 상태와 그 상태 변화(동작순서)를 나타낸다.
해당 보기는 두 다이어그램의 역할을 서로 뒤바꿔 설명하고 있으므로 틀린 설명이다.

문제 13
기본 유스케이스 수행 시 특별한 조건을 만족할 때 수행하는 유스케이스는?     
1연관
2확장
3선택
4특화
정답 및 해설

유스케이스 다이어그램에서 기본 유스케이스를 수행하는 도중 특별한 조건을 만족할 때만 추가로 수행되는 유스케이스는 확장(extend) 관계로 표현한다.
이는 항상 포함되는 포함(include) 관계와 달리 조건부로 실행되는 선택적 흐름을 나타낸다.

문제 14
다음 중 요구사항 모델링에 활용되지 않는 것은?     
1애자일(Agile) 방법
2유스케이스 다이어그램(Use Case Diagram)
3시컨스 다이어그램(Sequence Diagram)
4단계 다이어그램(Phase Diagram)
정답 및 해설

요구사항 모델링에는 애자일 방법, 유스케이스 다이어그램, 시퀀스 다이어그램 등 사용자 요구와 시스템 동작을 표현하는 기법들이 활용된다.
반면 단계 다이어그램(Phase Diagram)은 요구사항 모델링 기법으로 쓰이지 않는 용어이므로 해당하지 않는다.

문제 15
디자인 패턴을 이용한 소프트웨어 재사용으로 얻어지는 장점이 아닌 것은?     
1소프트웨어 코드의 품질을 향상시킬 수 있다.
2개발 프로세스를 무시할 수 있다.
3개발자들 사이의 의사소통을 원활하게 할 수 있다.
4소프트웨어의 품질과 생산성을 향상시킬 수 있다.
정답 및 해설

디자인 패턴을 재사용하면 검증된 설계를 따르게 되어 코드 품질·의사소통·생산성이 향상되는 효과가 있다.
그러나 개발 프로세스를 무시할 수 있다는 것은 디자인 패턴 재사용의 장점이 아니라 오히려 잘못된 진술이므로 정답이다.

문제 16
럼바우(Rumbaugh) 분석기법에서 정보모델링이라고도 하며, 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규정하여 다이어그램을 표시하는 모델링은?     
1Object
2Dynamic
3Function
4Static
정답 및 해설

럼바우(Rumbaugh)의 OMT 분석기법 중 객체 모델링(Object Model)은 정보모델링이라고도 하며, 시스템에서 요구되는 객체를 찾아 속성·연산을 식별하고 객체 간의 관계를 다이어그램으로 표시하는 모델링이다.
동적 모델링은 상태 변화, 기능 모델링은 데이터 흐름을 다루는 것과 구분된다.

문제 17
소프트웨어를 개발하기 위한 비즈니스(업무)를 객체와 속성, 클래스와 멤버, 전체와 부분 등으로 나누어서 분석해 내는 기법은?     
1객체지향 분석
2구조적 분석
3기능적 분석
4실시간 분석
정답 및 해설

객체지향 분석은 업무(비즈니스)를 객체와 속성, 클래스와 멤버, 전체와 부분 등의 관계로 나누어 분석하는 기법이다.
업무를 기능 중심의 처리 절차로 나누는 구조적 분석과 달리, 객체 단위의 구조와 관계에 초점을 둔다.

문제 18
애자일 소프트웨어 개발 기법의 가치가 아닌 것은?     
1프로세스의 도구보다는 개인과 상호작용에 더 가치를 둔다.
2계약 협상보다는 고객과의 협업에 더 가치를 둔다.
3실제 작동하는 소프트웨어보다는 이해하기 좋은 문서에 더 가치를 둔다.
4계획을 따르기보다는 변화에 대응하는 것에 더 가치를 둔다.
정답 및 해설

애자일 선언문의 4대 가치는 프로세스·도구보다 개인과 상호작용, 계약 협상보다 고객과의 협업, 계획 준수보다 변화 대응, 그리고 포괄적 문서보다 실제 작동하는 소프트웨어에 더 가치를 두는 것이다.
해당 보기는 이를 반대로 서술하여 문서를 소프트웨어보다 우선시한다고 했으므로 틀린 설명이다.

문제 19
UML 다이어그램 중 시스템 내 클래스의 정적 구조를 표현하고 클래스와 클래스, 클래스의 속성 사이의 관계를 나타내는 것은?     
1Activity Diagram
2Modea Diagram
3State Diagram
4Class Diagram
정답 및 해설

클래스 다이어그램(Class Diagram)은 UML의 정적(구조) 다이어그램으로, 시스템 내 클래스들의 정적 구조와 클래스·속성 간의 관계를 표현한다.
동적인 흐름이나 상태를 표현하는 Activity Diagram, State Diagram과 구분된다.

문제 20
소프트웨어 설계시 제일 상위에 있는 main user function에서 시작하여 기능을 하위 기능들로 분할해 가면서 설계하는 방식은?     
1객체 지향 설계
2데이터 흐름 설계
3상향식 설계
4하향식 설계
정답 및 해설

최상위의 main user function에서 시작해 기능을 점차 하위 기능들로 분할해 나가며 설계하는 방식은 하향식 설계(Top-Down Design)이다.
이는 하위 모듈들을 먼저 구현한 후 이를 결합해 상위 시스템을 완성하는 상향식 설계와 대비되는 접근이다.

문제 21
구현 단계에서의 작업 절차를 순서에 맞게 나열한 것은?          
1㉠-㉡-㉢-㉣
2㉡-㉠-㉣-㉢
3㉢-㉠-㉡-㉣
4㉣-㉡-㉠-㉢
정답 및 해설

구현 단계의 표준 작업 절차는 코딩 작업을 계획한 뒤 이를 바탕으로 코딩을 수행하고, 작성된 코드를 컴파일하여 실행 가능한 형태로 만든 다음 마지막으로 테스트하는 순서를 따른다.
따라서 순서는 ㉡(코딩작업을 계획한다)-㉠(코딩한다)-㉣(컴파일한다)-㉢(코드를 테스트한다)이다.

문제 22
다음 자료에 대하여 “Selection Sort”를 사용하여 오름차순으로 정렬한 경우 PASS 3의 결과는?          
13, 4, 7, 9, 8
23, 4, 8, 9, 7
33, 8, 4, 9, 7
43, 4, 7, 8, 9
정답 및 해설

초기 자료 8, 3, 4, 9, 7에 Selection Sort를 적용하면 각 PASS마다 남은 구간에서 최솟값을 찾아 맨 앞과 교환한다.
PASS1: 최솟값 3을 첫 자리와 교환 → 3, 8, 4, 9, 7
PASS2: 남은 구간(8,4,9,7)에서 최솟값 4를 교환 → 3, 4, 8, 9, 7
PASS3: 남은 구간(8,9,7)에서 최솟값 7을 교환하면 3, 4, 7, 9, 8이 된다.

문제 23
하향식 통합시험을 위해 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈은?     
1Stub
2Driver
3Procedure
4Function
정답 및 해설

하향식 통합시험은 상위 모듈부터 순차적으로 통합하며, 아직 구현되지 않은 하위 모듈이 필요할 때 이를 일시적으로 대체하는 시험용 모듈인 Stub을 사용한다.
반대로 상위 모듈이 아직 없을 때 하위 모듈을 호출해 주는 임시 모듈은 Driver이며, 이는 상향식 통합시험에서 사용된다.

문제 24
다음 전위식(prefix)을 후위식(postfix)으로 옳게 표현한 것은?          
1A B C + D / * E -
2A B * C D / + E -
3A B * C + D / E -
4A B C + * D / E -
정답 및 해설

전위식 "- / * A + B C D E"는 오른쪽에서 왼쪽으로 스캔하며 연산자를 만날 때마다 직전에 쌓인 두 피연산자를 피연산자·피연산자·연산자 순으로 결합해 후위식을 만든다.
먼저 +로 B와 C를 묶어 BC+를 만들고, *로 A와 BC+를 묶어 ABC+*를 만든다.
이어서 /로 ABC+*와 D를 묶어 ABC+*D/를 만들고, 마지막으로 -로 이를 E와 묶어 A B C + * D / E -를 얻는다.

문제 25
그래프의 특수한 형태로 노드(Node)와 선분(Branch)으로 되어 있고, 정점 사이에 사이클(Cycle)이 형성되어 있지 않으며, 자료 사이의 관계성이 계층 형식으로 나타나는 비선형 구조는?     
1tree
2network
3stack
4distributed
정답 및 해설

사이클이 없고 정점 사이의 관계가 계층적으로 나타나는 비선형 자료구조는 트리(Tree)이다.
네트워크는 사이클이 허용되는 더 일반적인 그래프 구조이고, 스택은 선형 자료구조라는 점에서 구별된다.

문제 26
스택에 대한 설명으로 틀린 것은?     
1입출력이 한쪽 끝으로만 제한된 리스트이다.
2Head(front)와 Tail(rear)의 2개 포인터를 갖고 있다.
3LIFO 구조이다.
4더 이상 삭제할 데이터가 없는 상태에서 데이터를 삭제하면 언더플로(Underflow)가 발생한다.
정답 및 해설

스택(Stack)은 삽입과 삭제가 한쪽 끝(top)에서만 이루어지는 LIFO 구조로, top 하나의 포인터만 사용한다.
Head(front)와 Tail(rear) 두 개의 포인터를 사용하는 것은 큐(Queue)의 특징이므로 이 설명이 틀렸다.

문제 27
디지털 저작권 관리(DRM)에 사용되는 기술요소가 아닌 것은?     
1키관리
2방화벽
3암호화
4크랙방지
정답 및 해설

DRM(디지털 저작권 관리)의 기술요소로는 콘텐츠를 보호하는 암호화, 암호 키를 관리하는 키관리, 불법 복제를 막는 크랙방지 등이 있다.
방화벽은 네트워크 경계에서 외부 침입을 차단하는 보안 기술로 DRM 고유의 기술요소에는 해당하지 않는다.

문제 28
여러 개의 선택 항목 중 하나의 선택만 가능한 경우 사용하는 사용자 인터페이스(UI)요소는?     
1토글 버튼
2텍스트 박스
3라디오 버튼
4체크 박스
정답 및 해설

여러 선택 항목 중 하나만 선택할 수 있도록 하는 사용자 인터페이스 요소는 라디오 버튼이다.
체크박스는 여러 항목을 동시에 선택할 수 있고, 토글 버튼은 두 상태(on/off)를 전환하는 용도라는 점에서 라디오 버튼과 다르다.

문제 29
소프트웨어의 일부분을 다른 시스템에서 사용할 수 있는 정도를 의미하는 것은?     
1신뢰성(Reliability)
2유지보수성(Maintainability)
3가시성(Visibility)
4재사용성(Reusability)
정답 및 해설

소프트웨어의 일부분을 다른 시스템에서도 활용할 수 있는 정도를 나타내는 품질 특성은 재사용성(Reusability)이다.
신뢰성은 오류 없이 기능을 수행하는 정도를, 유지보수성은 결함 수정·개선의 용이성을 뜻하므로 재사용성과 구별된다.

문제 30
자료구조에 대한 설명으로 틀린 것은?     
1큐는 비선형구조에 해당한다.
2큐는 First In – First Out 처리를 수행한다.
3스택은 Last In – First out 처리를 수행한다.
4스택은 서브루틴 호출, 인터럽트 처리, 수식 계산 및 수식 표기법에 응용된다.
정답 및 해설

큐(Queue)는 스택과 함께 선형 자료구조에 해당하므로 "큐는 비선형구조에 해당한다"는 설명이 틀렸다.
큐는 First In-First Out으로 동작하고, 스택은 Last In-First Out 구조로 서브루틴 호출·인터럽트 처리·수식 계산 등에 활용된다는 나머지 설명은 모두 옳다.

문제 31
다음 중 블랙박스 검사 기법은?     
1경계값 분석
2조건 검사
3기초 경로 검사
4루프 검사
정답 및 해설

경계값 분석(Boundary Value Analysis)은 입력 범위의 경계 부근 값을 중점적으로 검사하는 대표적인 블랙박스 검사 기법이다. 반면 조건 검사·기초 경로 검사·루프 검사는 프로그램 내부의 논리 구조를 기준으로 테스트 케이스를 설계하는 화이트박스 검사 기법이다.

문제 32
이진 검색 알고리즘에 대한 설명으로 틀린 것은?     
1탐색 효율이 좋고 탐색 시간이 적게 소요된다.
2검색할 데이터가 정렬되어 있어야 한다.
3피보나치 수열에 따라 다음에 비교할 대상을 선정하여 검색한다.
4비교횟수를 거듭할 때마다 검색 대상이 되는 데이터의 수가 절반으로 줄어든다.
정답 및 해설

이진 검색(Binary Search)은 정렬된 자료의 중앙값과 비교하며 탐색 범위를 절반씩 좁혀가는 기법으로, 비교할 때마다 대상 데이터 수가 절반으로 줄어들어 탐색 효율이 높다. 다음에 비교할 대상을 피보나치 수열에 따라 정하는 것은 피보나치 검색의 특징이므로 이진 검색에 대한 설명으로는 틀리다.

문제 33
소프트웨어 품질목표 중 쉽게 배우고 사용할 수 있는 정도를 나타내는 것은?     
1Correctness
2Reliability
3Usability
4Integrity
정답 및 해설

Usability(사용 용이성)는 사용자가 소프트웨어의 사용 방법을 쉽게 배우고 능숙하게 사용할 수 있는 정도를 나타내는 품질 특성이다. Correctness는 정확성, Reliability는 신뢰성, Integrity는 무결성을 뜻하며 학습·사용 편의성과는 관련이 없다.

문제 34
테스트 케이스에 일반적으로 포함되는 항목이 아닌 것은?     
1테스트 조건
2테스트 데이터
3테스트 비용
4예상 결과
정답 및 해설

테스트 케이스는 일반적으로 테스트 조건·테스트 데이터(입력값)·예상 결과로 구성되어 실행 절차와 판정 기준을 정의한다. 테스트 비용은 테스트를 수행하는 데 드는 자원 소모를 뜻할 뿐 테스트 케이스의 구성 항목이 아니다.

문제 35
소프트웨어 설치 매뉴얼에 포함될 항목이 아닌 것은?     
1제품 소프트웨어 개요
2설치 관련 파일
3프로그램 삭제
4소프트웨어 개발 기간
정답 및 해설

설치 매뉴얼에는 제품 소프트웨어의 개요·설치 관련 파일·설치 절차·프로그램 삭제 방법 등 사용자가 설치·삭제를 수행하는 데 필요한 내용이 포함된다. 소프트웨어 개발 기간은 개발 프로세스 관리 정보로, 설치 매뉴얼의 구성 항목이 아니다.

문제 36
소프트웨어 형상관리(Configuration management)에 관한 설명으로 틀린 것은?     
1소프트웨어에서 일어나는 수정이나 변경을 알아내고 제어하는 것을 의미한다.
2소프트웨어 개발의 전체 비용을 줄이고, 개발 과정의 여러 방해 요인이 최소화되도록 보증하는 것을 목적으로 한다.
3형상관리를 위하여 구성된 팀을 “chief programmer team”이라고 한다.
4형상관리의 기능 중 하나는 버전 제어 기술이다.
정답 및 해설

형상관리는 소프트웨어의 수정·변경을 알아내고 통제하여 개발 비용을 줄이고 방해 요인을 최소화하는 활동이며, 버전 제어는 형상관리의 핵심 기능이다. 다만 형상관리를 수행하는 조직은 형상통제위원회(CCB)라 하며, chief programmer team은 이와 무관한 개발팀 조직 구성 방식이므로 형상관리 설명으로 틀리다.

문제 37
퀵 정렬에 관한 설명으로 옳은 것은?     
1레코드의 키 값을 분석하여 같은 값끼리 그 순서에 맞는 버킷에 분배하였다가 버킷의 순서대로 레코드를 꺼내어 정렬한다.
2주어진 파일에서 인접한 두 개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환한다.
3레코드의 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬한다.
4임의의 레코드 키와 매개변수(h)값만큼 떨어진 곳의 레코드 키를 비교하여 서로 교환해 가면서 정렬한다.
정답 및 해설

퀵 정렬은 피벗을 기준으로 파일을 두 부분으로 분할한 뒤 각 부분을 재귀적으로 나누어가며 정렬하는 분할 정복 방식이다. 레코드 키를 버킷에 분배하는 방식은 버킷(기수) 정렬, 인접 레코드를 비교·교환하는 방식은 버블 정렬, 매개변수(h) 간격으로 비교·교환하는 방식은 쉘 정렬의 특징이다.

문제 38
해싱 함수(Hashing Function)의 종류가 아닌 것은?     
1제곱법(mid-square)
2숫자분석법(digit analysis)
3개방주소법(open addressing)
4제산법(division)
정답 및 해설

해싱 함수에는 제산법·제곱법·숫자분석법·중첩법 등이 있다. 개방주소법(open addressing)은 해시 충돌이 발생했을 때 빈 버킷을 탐색해 저장하는 충돌 해결 기법이지 해싱 함수의 종류가 아니다.

문제 39
필드 테스팅(field testing)이라고도 불리며 개발자 없이 고객의 사용 환경에 소프트웨어를 설치하여 검사를 수행하는 인수검사 기법은?     
1베타 검사
2알파 검사
3형상 검사
4복구 검사
정답 및 해설

필드 테스팅이라고도 불리는 베타 검사는 개발자가 참여하지 않은 상태에서 고객의 실제 사용 환경에 소프트웨어를 설치해 다수의 사용자가 수행하는 인수검사이다. 반면 알파 검사는 개발자가 지켜보는 가운데 사용자가 개발 환경에서 수행하는 테스트라는 점에서 구분된다.

문제 40
다음 트리를 Preorder 운행법으로 운행할 경우 다섯 번째로 탐색되는 것은?          
1C
2E
3G
4H
정답 및 해설

Preorder(전위 순회)는 루트→왼쪽 서브트리→오른쪽 서브트리 순으로 방문한다. 주어진 트리를 이 순서로 따라가면 A, B, D, C, E, G, H, F 순으로 탐색되며, 다섯 번째로 탐색되는 노드는 E이다.

문제 41
결과 값이 아래와 같을 때 SQL 질의로 옳은 것은?          
1SELECT * FROM 공급자 WHERE공급자명 LIKE '%신%';
2SELECT * FROM 공급자 WHERE공급자명 LIKE '%대%';
3SELECT * FROM 공급자 WHERE공급자명 LIKE '%사%';
4SELECT * FROM 공급자 WHERE공급자명 IS NOT NULL;
정답 및 해설

결과 집합에는 대신공업사·신촌상사처럼 공급자명에 '신'이라는 문자가 포함된 행만 나타난다.
LIKE '%신%'는 문자열 어디에든 '신'이 들어간 값을 모두 찾는 패턴이므로 이 결과와 일치한다.
'%대%'는 대신공업사는 찾아도 신촌상사는 걸러내지 못해 결과가 달라지므로 옳지 않다.

문제 42
다음에서 설명하는 스키마(Schema)는?          
1개념 스키마
2내부 스키마
3외부 스키마
4내용 스키마
정답 및 해설

데이터베이스 전체의 논리적 구조를 정의하는 스키마는 개념 스키마이다.
데이터개체·관계·제약조건·접근권한·무결성 규칙 등 조직 전체 관점의 정의를 포함한다.
외부 스키마는 사용자·응용프로그램별 뷰, 내부 스키마는 물리적 저장 구조를 다룬다는 점에서 구분된다.

문제 43
데이터베이스 설계 단계 중 저장 레코드 양식설계, 레코드 집중의 분석 및 설계, 접근 경로 설계와 관계되는 것은?     
1논리적 설계
2요구 조건 분석
3개념적 설계
4물리적 설계
정답 및 해설

저장 레코드의 양식(포맷) 설계, 레코드 집중 분석 및 설계, 접근 경로 설계는 데이터를 실제 저장장치에 배치하는 단계에서 다루는 사항이다.
이는 물리적 설계의 산출물로, 개체-관계 모델링을 수행하는 개념적 설계나 스키마 변환·정규화를 수행하는 논리적 설계와는 구분된다.

문제 44
다음 릴레이션의 카디널리티와 차수가 옳게 나타낸 것은?          
1카디널리티 : 4, 차수 : 4
2카디널리티 : 4, 차수 : 6
3카디널리티 : 6, 차수 : 4
4카디널리티 : 6, 차수 : 6
정답 및 해설

릴레이션의 카디널리티는 튜플(행)의 수, 차수는 속성(열)의 수를 의미한다.
표에는 아이디·성명·나이·등급·적립금·가입년도 6개 속성과 4개의 튜플이 있으므로 카디널리티는 4, 차수는 6이다.

문제 45
다음과 같은 트랙잭션의 특성은?          
1원자성(atomicity)
2일관성(consistency)
3격리성(isolation)
4영속성(durability)
정답 및 해설

트랜잭션 수행 전의 데이터베이스 상태와 수행 완료 후의 상태가 항상 모순 없이 일치해야 한다는 성질은 일관성(consistency)이다.
이는 트랜잭션이 무결성 제약을 위반하지 않고 하나의 일관된 상태에서 다른 일관된 상태로 전이함을 의미한다.

문제 46
병행제어의 로킹(Locking) 단위에 대한 설명으로 옳지 않은 것은?     
1데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있다.
2로킹 단위가 작아지면 로킹 오버헤드가 증가한다.
3한꺼번에 로킹할 수 있는 단위를 로킹단위라고 한다.
4로킹 단위가 작아지면 병행성 수준이 낮아진다.
정답 및 해설

로킹 단위가 작아질수록(세분화될수록) 동시에 수행 가능한 트랜잭션 수가 늘어나 병행성 수준은 오히려 높아진다.
반면 관리해야 할 로크의 개수가 많아져 로킹 오버헤드는 증가한다.
따라서 '로킹 단위가 작아지면 병행성 수준이 낮아진다'는 설명은 통설과 반대되므로 옳지 않다.

문제 47
뷰(VIEW)에 대한 설명으로 옳지 않은 것은?     
1DBA는 보안 측면에서 뷰를 활용할 수 있다.
2뷰 위에 또 다른 뷰를 정의할 수 있다.
3뷰에 대한 삽입, 갱신, 삭제 연산 시 제약사항이 따르지 않는다.
4독립적인 인덱스를 가질 수 없다.
정답 및 해설

여러 테이블을 조인하거나 그룹 함수·DISTINCT 등을 포함한 뷰는 삽입·갱신·삭제 연산에 제약이 따른다.
따라서 '뷰에 대한 삽입·갱신·삭제 연산 시 제약사항이 따르지 않는다'는 설명이 틀리다.
DBA의 보안 활용, 뷰 위에 또 다른 뷰 정의 가능, 독립적인 인덱스를 가질 수 없다는 설명은 모두 옳다.

문제 48
다음 정의에서 말하는 기본 정규형은?          
1제1정규형(1NF)
2제2정규형(2NF)
3제3정규형(3NF)
4보이스/코드 정규형(BCNF)
정답 및 해설

릴레이션 R에 속한 모든 속성(도메인)의 값이 더 이상 분해할 수 없는 원자값(Atomic Value)만으로 구성되어야 한다는 조건은 제1정규형(1NF)의 정의이다.
제2정규형 이상은 완전 함수 종속·이행 종속 제거 등 추가 조건을 요구한다는 점에서 이와 구분된다.

문제 49
릴레이션 R1에 속한 애튜리뷰트의 조합인 외래키를 변경하려면 이를 참조하고 있는 릴레이션 R2의 기본키도 변경해야 하는데 이를 무엇이라 하는가?     
1정보 무결성
2고유 무결성
3널 제약성
4참조 무결성
정답 및 해설

릴레이션 R1의 외래키를 변경할 때 그 값을 참조하고 있는 릴레이션 R2의 기본키도 함께 변경되어야 일관성이 유지되는 제약을 참조 무결성이라 한다.
이는 외래키 값이 참조 대상 릴레이션의 기본키 값과 항상 일치하도록 보장하는 제약조건이다.

문제 50
시스템 카탈로그에 대한 설명으로 틀린 것은?     
1시스템 카탈로그의 갱신은 무결성 유지를 위하여 SQL을 이용하여 사용자가 직접 갱신하여야 한다.
2데이터베이스에 포함되는 데이터 객체에 대한 정의나 명세에 대한 정보를 유지관리한다.
3DBMS가 스스로 생성하고 유지하는 데이터베이스 내의 특별한 테이블의 집합체이다.
4카탈로그에 저장된 정보를 메타 데이터라고도 한다.
정답 및 해설

시스템 카탈로그는 DBMS가 스스로 생성·유지·갱신하는 메타데이터 저장소로, 데이터 객체의 정의·명세 정보를 담은 특별한 테이블 집합이다.
따라서 사용자가 무결성 유지를 위해 SQL로 직접 갱신해야 한다는 설명은 틀리다.
사용자는 SELECT로 카탈로그를 조회할 수 있지만 INSERT·UPDATE 등으로 직접 수정하지는 않는다.

문제 51
조건을 만족하는 릴레이션의 수평적 부분집합으로 구성하며, 연산자의 기호는 그리스 문자 시그마(σ)를 사용하는 관계대수 연산은?     
1Select
2Project
3Join
4Division
정답 및 해설

관계대수의 Select(σ)는 조건을 만족하는 튜플만 골라내는 수평적 부분집합 연산으로 기호 σ를 사용한다.
반면 Project(π)는 지정한 속성(열)만 추출하는 수직적 연산으로 기호 π를 쓴다는 점에서 구분된다.

문제 52
SQL에서 스키마(schema), 도메인(domain), 테이블(table), 뷰(view), 인덱스(index)를 정의하거나 변경 또는 삭제할 때 사용하는 언어는?     
1DML(Data Manipulation Language)
2DDL(Data Definition Language)
3DCL(Data Control Language)
4IDL(Interactive Data Language)
정답 및 해설

DDL(Data Definition Language)은 스키마·도메인·테이블·뷰·인덱스 등 데이터베이스 객체의 구조를 정의·변경·삭제하는 언어로 CREATE·ALTER·DROP 문이 이에 속한다.
데이터 조작은 DML, 권한 부여·회수는 DCL이 담당하므로 이 문항의 기능과는 구분된다.

문제 53
정규화를 거치지 않아 발생하게 되는 이상(anomaly) 현상의 종류에 대한 설명으로 옳지 않은 것은?     
1삭제 이상이란 릴레이션에서 한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 연쇄 삭제 현상이다.
2삽입 이상이란 릴레이션에서 데이터를 삽입할 때 의도와는 상관없이 원하지 않는 값들도 함께 삽입되는 현상이다.
3갱신 이상이란 릴레이션에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상이다.
4종속 이상이란 하나의 릴레이션에 하나 이상의 함수적 종속성이 존재하는 현상이다.
정답 및 해설

정규화를 거치지 않으면 삽입 이상·삭제 이상·갱신 이상 세 가지 유형의 이상현상이 발생하며, 이 셋이 표준적인 분류다.
단순히 하나 이상의 함수적 종속성이 존재하는 것은 정상적인 데이터 특성일 뿐 이상현상이 아니므로 종속 이상이라는 유형은 존재하지 않는다.

문제 54
관계 데이터 모델에서 릴레이션(relation)에 관한 설명으로 옳은 것은?     
1릴레이션의 각 행을 스키마(schema)라 하며, 예로 도서 릴레이션을 구성하는 스키마에서는 도서번호, 도서명, 저자, 가격 등이 있다.
2릴레이션의 각 열을 튜플(tuple)이라 하며, 하나의 튜플은 각 속성에서 정의된 값을 이용하여 구성된다.
3도메인(domain)은 하나의 속성이 가질 수 있는 같은 타입의 모든 값의 집합으로 각 속성의 도메인은 원자값을 갖는다.
4속성(attribute)은 한 개의 릴레이션의 논리적인 구조를 정의한 것으로 릴레이션의 이름과 릴레이션에 포함된 속성들의 집합을 의미한다.
정답 및 해설

도메인(domain)은 하나의 속성이 가질 수 있는 동일 타입의 모든 값의 집합이며, 각 속성의 도메인 값은 원자값이어야 한다.
릴레이션의 각 행은 튜플, 각 열은 속성이며, 릴레이션의 이름과 속성 집합으로 이루어진 논리적 구조 정의는 릴레이션 스키마이다.

문제 55
3NF에서 BCNF가 되기 위한 조건은?     
1이행적 함수 종속 제거
2부분적 함수 종속 제거
3다치 종속 제거
4결정자이면서 후보 키가 아닌 것 제거
정답 및 해설

3NF는 이행적 함수 종속을 제거한 상태이지만 후보키가 아닌 결정자가 남아있을 수 있다.
BCNF는 이러한 결정자이면서 후보키가 아닌 것을 제거하여 모든 결정자가 후보키가 되도록 강화한 정규형이다.

문제 56
데이터베이스 성능에 많은 영향을 주는 DBMS의 구성 요소로 테이블과 클러스터에 연관되어 독립적인 저장 공간을 보유하며, 데이터베이스에 저장된 자료를 더욱 빠르게 조회하기 위하여 사용되는 것은?     
1인덱스(Index)
2트랙잭션(Transaction)
3역정규화(Denormalization)
4트리거(Trigger)
정답 및 해설

인덱스(Index)는 테이블·클러스터와 연관되어 독립적인 저장 공간을 갖고 데이터베이스 조회 속도를 높이기 위해 사용되는 DBMS 구성요소다.
트랜잭션은 작업의 논리적 단위, 트리거는 이벤트에 반응해 자동 실행되는 절차로 조회 성능 향상이 목적인 인덱스와는 역할이 다르다.

문제 57

아래의 SQL문을 실행한 결과는?

[R1 테이블]

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

[R2 테이블]

학번과목번호학점점수
1000C100A91
1000C200A94
2000C300B85
3000C400A90
3000C500C75
3000C100A90
4000C400A95
4000C500A91
4000C100B80
4000C200C74
5000C400B85

[SQL 문]

SELECT 이름
FROM R1
WHERE 학번 IN
(SELECT 학번
FROM R2
WHERE 과목번호 = 'C100');
1
2
3
4
정답 및 해설

부속 질의가 과목번호 C100을 수강한 학번을 모으고 바깥 질의가 그 학번의 이름을 뽑으므로, 결과는 홍길동·강남길·오말자 세 행짜리 이름 컬럼이다.

R2 테이블에서 과목번호가 C100인 행의 학번은 1000, 3000, 4000 세 개다.

R1 테이블에서 이 학번에 대응하는 이름은 1000이 홍길동, 3000이 강남길, 4000이 오말자다.

  • 김철수(학번 2000)는 C300만 수강해 부속 질의 결과에 학번이 없다.
  • 장미화(학번 5000)는 C400만 수강해 역시 제외되므로, 장미화가 들어가거나 다섯 명이 모두 나오거나 김철수가 포함된 결과는 옳지 않다.
문제 58
『회원』테이블 생성 후 『주소』 필드(컬럼)가 누락되어 이를 추가하려고 한다. 이에 적합한 SQL명령어는?     
1DELETE
2RESTORE
3ALTER
4ACCESS
정답 및 해설

이미 생성된 테이블에 새로운 컬럼(필드)을 추가하려면 테이블의 구조 자체를 수정하는 ALTER 명령어를 사용하며, 'ALTER TABLE ~ ADD' 구문으로 컬럼을 추가한다.
DELETE는 행 삭제, RESTORE·ACCESS는 이러한 구조 변경 기능을 수행하지 않는다.

문제 59
트랙잭션을 수행하는 도중 장애로 인해 손상된 데이터베이스를 손상되기 이전에 정상적인 상태로 복구시키는 작업은?     
1Recovery
2Commit
3Abort
4Restart
정답 및 해설

Recovery(회복)는 트랜잭션 수행 중 장애로 손상된 데이터베이스를 장애 발생 이전의 정상 상태로 되돌리는 작업이다.
Commit은 트랜잭션의 정상 완료 확정, Abort는 트랜잭션 취소를 의미하므로 손상된 DB를 복구하는 개념과는 다르다.

문제 60
E-R 다이어그램의 표기법으로 옳지 않은 것은?     
1개체타입 - 사각형
2속성 - 타원
3관계집합 - 삼각형
4개체타입과 속성을 연결 – 선
정답 및 해설

E-R 다이어그램에서 관계집합(relationship set)마름모로 표기하며 삼각형은 사용하지 않는다.
개체타입은 사각형, 속성은 타원, 개체타입과 속성을 잇는 연결선은 직선으로 표기하는 것이 옳다.

문제 61
다음 중 응집도가 가장 높은 것은?     
1절차적 응집도
2순차적 응집도
3우연적 응집도
4논리적 응집도
정답 및 해설

모듈 내부 요소들의 관련성 정도를 나타내는 응집도는 기능적 > 순차적 > 교환적 > 절차적 > 시간적 > 논리적 > 우연적 순으로 강도가 낮아진다.
보기 중에서는 한 모듈의 처리 결과(출력)가 다음 활동의 입력으로 이어지며 순서대로 실행되는 순차적 응집도가 절차적·논리적·우연적 응집도보다 강도가 높다.

문제 62
OSI 7계층에서 물리적 연결을 이용해 신뢰성 있는 정보를 전송하려고 동기화, 오류제어, 흐름제어 등의 전송에러를 제어하는 계층은?     
1데이터 링크 계층
2물리 계층
3응용 계층
4표현 계층
정답 및 해설

OSI 7계층 중 인접 노드 간 물리적 링크 위에서 동기화·오류제어·흐름제어를 수행해 신뢰성 있는 프레임 전송을 담당하는 계층은 데이터 링크 계층이다.
물리 계층은 비트 단위의 전기적 신호 전송만 담당하며 오류·흐름제어 기능을 갖지 않는다.

문제 63
운영체제를 기능에 따라 분류할 경우 제어 프로그램이 아닌 것은?     
1데이터 관리 프로그램
2서비스 프로그램
3작업 제어 프로그램
4감시 프로그램
정답 및 해설

운영체제의 제어 프로그램은 시스템 전체를 통제하는 감시 프로그램, 작업 순서를 관리하는 작업 제어 프로그램, 파일과 데이터를 관리하는 데이터 관리 프로그램으로 구성된다.
서비스 프로그램은 언어 번역·유틸리티 등을 포함하는 처리 프로그램에 속하므로 제어 프로그램이 아니다.

문제 64
IEEE 802.3 LAN에서 사용되는 전송매체 접속제어(MAC) 방식은?     
1CSMA/CD
2Token Bus
3Token Ring
4Slotted Ring
정답 및 해설

IEEE 802.3 표준은 이더넷(Ethernet) LAN 규격으로, 매체 접속제어(MAC) 방식으로 CSMA/CD(반송파 감지 다중접속/충돌검출)를 사용한다.
Token Bus·Token Ring·Slotted Ring은 각각 다른 토큰 기반 표준(IEEE 802.4, 802.5 등)의 접속 방식이다.

문제 65
기억공간이 15K, 23K, 22K, 21K 순으로 빈 공간이 있을 때 기억장치 배치 전력으로 “First Fit”을 사용하여 17K의 프로그램을 적재할 경우 내부단편화의 크기는 얼마인가?     
15K
26K
37K
48K
정답 및 해설

First Fit은 요청 크기(17K) 이상인 빈 공간을 순서대로 탐색해 최초로 발견한 곳에 배치한다.
15K는 17K보다 작아 건너뛰고 다음의 23K 공간에 적재하므로, 내부단편화는 23K17K=6K23\text{K} - 17\text{K} = 6\text{K}가 된다.

문제 66
교착상태가 발생할 수 있는 조건이 아닌 것은?     
1Mutual exclusion
2Hold and wait
3Non-preemption
4Linear wait
정답 및 해설

교착상태의 4대 발생조건은 상호배제(Mutual exclusion)·점유대기(Hold and wait)·비선점(Non-preemption)·순환대기(Circular wait)이다.
보기의 Linear wait는 이 네 조건에 해당하지 않는 명칭으로, 정확한 네 번째 조건은 자원 요구가 원형으로 이어지는 순환대기다.

문제 67
IPv6에 대한 설명으로 틀린 것은?     
1멀티캐스팅(Multicast) 대신 브로드캐스트(Broadcast)를 사용한다.
2보안과 인증 확장 헤더를 사용함으로써 인터넷 계층의 보안기능을 강화하였다.
3애니캐스트(Anycast)는 하나의 호스트에서 그룹 내의 가장 가까운 곳에 있는 수신자에게 전달하는 방식이다.
4128비트 주소체계를 사용한다.
정답 및 해설

IPv6은 특정 그룹에만 전달하는 멀티캐스트와 가장 가까운 하나의 수신자에게 전달하는 애니캐스트를 사용하며, 비효율적인 브로드캐스트는 폐지되었다.
따라서 “멀티캐스팅 대신 브로드캐스트를 사용한다”는 설명은 사실과 반대이므로 틀린 내용이다. 128비트 주소체계와 보안·인증 확장 헤더(IPsec) 사용에 관한 나머지 설명은 옳다.

문제 68
TCP/IP 프로토콜에서 TCP가 해당하는 계층은?     
1데이터 링크 계층
2네트워크 계층
3트랜스포트 계층
4세션 계층
정답 및 해설

TCP/IP 프로토콜 스택에서 TCP는 종단 간 신뢰성 있는 데이터 전달을 담당하는 트랜스포트(전송) 계층에 해당한다.
데이터 링크·네트워크 계층은 각각 프레임 전달과 IP 라우팅을 담당하며, 세션 계층은 TCP/IP 4계층 구조에는 존재하지 않는 OSI 모델의 층위다.

문제 69
C언어에서 변수로 사용할 수 없는 것은?     
1data02
2int01
3_sub
4short
정답 및 해설

C언어에서 short는 정수형을 선언하는 예약어(키워드)이므로 식별자(변수명)로 사용할 수 없다.
data02, int01, _sub는 문자·숫자·밑줄로 구성되고 숫자로 시작하지 않으며 예약어와 겹치지 않아 유효한 변수명이다.

문제 70
다음 JAVA 코드 출력문의 결과는?          
15 + 2 = 345 + 2 = 34
25 + 2 + 3 + 45 + 2 = 7
37 = 77 + 7
45 + 2 = 345 + 2 = 7
정답 및 해설

첫 번째 출력문 System.out.println("5 + 2 = " + 3 + 4)는 문자열과의 + 연산이 왼쪽부터 순차 처리되어 "5 + 2 = "+3 → "5 + 2 = 3", 이어서 +4 → "5 + 2 = 34"가 출력된다.
두 번째 출력문은 괄호로 묶인 (3 + 4)가 먼저 정수 연산되어 7이 된 뒤 문자열과 결합되므로 "5 + 2 = 7"이 출력된다.
두 줄의 출력을 이으면 "5 + 2 = 34"와 "5 + 2 = 7"이 된다.

문제 71
C언어에서 문자열을 정수형으로 변환하는 라이브러리 함수는?     
1atoi( )
2atof( )
3itoa( )
4ceil( )
정답 및 해설

C언어에서 문자열을 정수형으로 변환하는 표준 라이브러리 함수는 atoi()이다.
atof()는 문자열을 실수형(double)으로, itoa()는 반대로 정수를 문자열로 변환하며, ceil()은 소수점을 올림 처리하는 함수이므로 문자열→정수 변환과는 관계가 없다.

문제 72
운영체제의 가상기억장치 관리에서 프로세스가 일정 시간동안 자주 참조하는 페이지들의 집합을 의미하는 것은?     
1Locality
2Deadlock
3Thrashing
4Working Set
정답 및 해설

Working Set은 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합을 의미하며, 이를 주기억장치에 유지시켜 페이지 부재(page fault)를 줄이는 가상기억장치 관리 기법의 근거가 된다.
Locality(지역성)는 이러한 참조 경향 자체를 뜻하는 개념이고, Thrashing은 페이지 교체가 과도해 성능이 급격히 저하되는 현상이므로 구분된다.

문제 73
결합도가 낮은 것부터 높은 순으로 옳게 나열한 것은?          
1(ㄱ) → (ㄴ) → (ㄹ) → (ㅂ) → (ㅁ) → (ㄷ)
2(ㄴ) → (ㄹ) → (ㅁ) → (ㅂ) → (ㄷ) → (ㄱ)
3(ㄴ) → (ㄹ) → (ㅂ) → (ㅁ) → (ㄷ) → (ㄱ)
4(ㄱ) → (ㄴ) → (ㄹ) → (ㅁ) → (ㅂ) → (ㄷ)
정답 및 해설

결합도는 자료 결합도 → 스탬프 결합도 → 제어 결합도 → 외부 결합도 → 공통 결합도 → 내용 결합도 순으로 낮은 것에서 높은 것으로 커진다.
제시된 (ㄴ)자료결합도·(ㄹ)스탬프결합도·(ㅂ)제어결합도·(ㅁ)외부결합도·(ㄷ)공통결합도·(ㄱ)내용결합도를 이 기준에 대입하면 (ㄴ)→(ㄹ)→(ㅂ)→(ㅁ)→(ㄷ)→(ㄱ) 순서가 되어 이 배열만 정답과 일치한다.

문제 74
다음 설명의 ㉠과 ㉡에 들어갈 내용으로 옳은 것은?          
1㉠ : Paging, ㉡ : Segmentation
2㉠ : Segmentation, ㉡ : Allocation
3㉠ : Segmentation, ㉡ : Compaction
4㉠ : Paging, ㉡ : Linking
정답 및 해설

제시문은 "프로그램을 고정된 크기의 일정한 블록으로 나누는 ㉠ 기법과 가변적인 크기의 블록으로 나누는 ㉡ 기법"을 설명하고 있다.
가상기억장치 관리에서 고정 크기 블록으로 분할하는 기법은 Paging이고, 가변 크기(의미 단위) 블록으로 분할하는 기법은 Segmentation이므로 ㉠은 Paging, ㉡은 Segmentation이다.

문제 75
라이브러리의 개념과 구성에 대한 설명 중 틀린 것은?     
1라이브러리란 필요할 때 찾아서 쓸 수 있도록 모듈화되어 제공되는 프로그램을 말한다.
2프로그래밍 언어에 따라 일반적으로 도움말, 설치 파일, 샘플 코드 등을 제공한다.
3외부 라이브러리는 프로그래밍 언어가 기본적으로 가지고 있는 라이브러리를 의미하며, 표준 라이브러리는 별도의 파일 설치를 필요로 하는 라이브러리를 의미한다.
4라이브러리는 모듈과 패키지를 총칭하며, 모듈이 개별 파일이라면 패키지는 파일들을 모아 놓은 폴더라고 볼 수 있다.
정답 및 해설

표준 라이브러리는 프로그래밍 언어가 기본적으로 내장하여 제공하는 라이브러리이고, 외부 라이브러리는 별도의 설치가 필요한 라이브러리이다.
③번은 이 정의를 서로 뒤바꿔 "외부 라이브러리=기본 내장, 표준 라이브러리=별도 설치 필요"로 서술했으므로 틀린 설명이다.

문제 76
C언어에서 산술 연산자가 아닌 것은?     
1%
2*
3/
4=
정답 및 해설

=는 값을 저장하는 대입(할당) 연산자이며 산술 연산자가 아니다.
%(나머지)·*(곱셈)·/(나눗셈)는 모두 두 피연산자에 대해 수치 연산을 수행하는 산술 연산자에 해당한다.

문제 77
UDP 특성에 해당되는 것은?     
1양방향 연결형 서비스를 제공한다.
2송신중에 링크를 유지관리하므로 신뢰성이 높다.
3순서제어, 오류제어, 흐름제어 기능을 한다.
4흐름제어나 순서제어가 없어 전송속도가 빠르다.
정답 및 해설

UDP는 비연결형(connectionless) 프로토콜로 흐름제어·오류제어·순서제어 기능이 없으며, 이 때문에 오버헤드가 적어 전송속도가 빠르다.
①·③번은 오히려 연결형이며 흐름·순서·오류제어를 수행하는 TCP의 특성이고, ②번도 링크 유지관리를 통한 높은 신뢰성 역시 TCP에 해당하므로 UDP 설명으로는 틀리다.

문제 78
JAVA에서 변수와 자료형에 대한 설명으로 틀린 것은?     
1변수는 어떤 값을 주기억 장치에 기억하기 위해서 사용하는 공간이다.
2변수의 자료형에 따라 저장할 수 있는 값의 종류와 범위가 달라진다.
3char 자료형은 나열된 여러 개의 문자를 저장하고자 할 때 사용한다.
4boolean 자료형은 조건이 참인지 거짓인지 판단하고자 할 때 사용한다.
정답 및 해설

Java의 char 자료형은 단일 16비트 유니코드 문자 하나만 저장하는 자료형이며, 여러 개의 문자(문자열)를 저장하는 것은 String 자료형의 역할이다.
따라서 "char 자료형은 나열된 여러 개의 문자를 저장"한다는 설명은 틀리며, 나머지 변수·자료형·boolean에 대한 설명은 모두 타당하다.

문제 79
다음은 파이썬으로 만들어진 반복문 코드이다. 이 코드의 결과는?          
1A, B, C 출력이 반복된다.
2A, B, C 까지만 출력된다.
3A, B, C, D 출력이 반복된다.
4A, B, C, D 까지만 출력된다.
정답 및 해설

while(True) 반복문 안에서 print('A'), print('B'), print('C')가 순서대로 출력된 뒤 continue가 실행되면 그 아래의 print('D')는 건너뛰고 즉시 while 조건 검사로 되돌아간다.
조건이 항상 True이므로 A, B, C 출력만 무한히 반복되고 D는 결코 출력되지 않는다.

문제 80
WAS(Web Application Server)가 아닌 것은?     
1JEUS
2JVM
3Tomcat
4WebSphere
정답 및 해설

JVM(Java Virtual Machine)은 자바 바이트코드를 실행하는 런타임 환경일 뿐, 웹 요청을 처리하고 동적 콘텐츠를 생성하는 WAS(Web Application Server)가 아니다.
JEUS·Tomcat·WebSphere는 모두 실제 서비스되는 대표적인 WAS 제품이므로 WAS가 아닌 것은 JVM이다.

문제 81
다음 암호 알고리즘 중 성격이 다른 하나는?     
1MD4
2MD5
3SHA-1
4AES
정답 및 해설

MD4·MD5·SHA-1은 모두 입력을 고정 길이 값으로 변환하고 복호화가 불가능한 해시 함수인 반면, AES는 암호화·복호화가 모두 가능한 대칭키 블록 암호 알고리즘이다.
따라서 나머지 셋과 성격이 다른 것은 해시 알고리즘이 아닌 AES이다.

문제 82
크래커가 침입하여 백도어를 만들어 놓거나, 설정파일을 변경했을 때 분석하는 도구는?     
1tripwire
2tcpdump
3cron
4netcat
정답 및 해설

tripwire는 시스템 파일의 체크섬(해시)을 주기적으로 비교해 무결성을 검사함으로써 백도어 설치나 설정파일 변조 등의 변경 여부를 탐지하는 도구다.
tcpdump는 네트워크 패킷 캡처, cron은 작업 스케줄러, netcat은 포트 간 데이터 송수신 도구로 파일 변조 탐지와는 무관하다.

문제 83

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

  • 사물통신, 사물인터넷과 같이 대역폭이 제한된 통신환경에 최적화하여 개발된 푸시기술 기반의 경량 메시지 전송 프로토콜
  • 메시지 매개자(Broker)를 통해 송신자가 특정 메시지를 발행하고 수신자가 메시지를 구독하는 방식
  • IBM이 주도하여 개발
1GRID
2TELNET
3GPN
4MQTT
정답 및 해설

브로커를 통한 발행/구독 방식의 경량 메시지 전송 프로토콜MQTT(Message Queuing Telemetry Transport)다.

대역폭이 좁고 전력·자원이 부족한 사물인터넷 환경을 겨냥해 헤더를 최소화했고, 송신자가 브로커에 메시지를 발행(publish)하면 해당 주제를 구독(subscribe)한 수신자에게 전달되는 구조다. IBM이 주도해 개발한 뒤 표준으로 자리 잡았다는 설명도 그대로 들어맞는다.

  • TELNET은 원격 단말 접속용 프로토콜로 메시지 브로커나 발행/구독 개념이 없다.
  • 그리드(GRID)는 분산된 컴퓨팅 자원을 묶어 쓰는 컴퓨팅 방식이지 메시지 전송 프로토콜이 아니다.
문제 84
나선형(Spiral) 모형의 주요 태스크에 해당되지 않는 것은?     
1버전 관리
2위험 분석
3개발
4평가
정답 및 해설

나선형(Spiral) 모형은 계획 수립, 위험 분석, 개발(공학), 고객 평가라는 4단계를 반복하며 진행되는 모델이다.
이 문제는 나선형 모형의 주요 태스크에 '해당되지 않는' 것을 묻고 있으므로, 위 네 단계에 포함되지 않는 버전 관리가 정답이다.

문제 85
정보 보안을 위한 접근통제 정책 종류에 해당하지 않는 것은?     
1임의적 접근 통제
2데이터 전환 접근 통제
3강제적 접근 통제
4역할 기반 접근 통제
정답 및 해설

정보 보안의 접근통제 정책은 임의적 접근통제(DAC)·강제적 접근통제(MAC)·역할 기반 접근통제(RBAC) 세 가지로 분류된다.
'데이터 전환 접근 통제'라는 정책 유형은 존재하지 않으므로 이것이 해당되지 않는 것이다.

문제 86
LOC기법에 의하여 예측된 총 라인수가 36,000라인, 개발에 참여할 프로그래머가 6명, 프로그래머들의 평균 생산성이 월간 300라인일 때 개발에 소요되는 기간은?     
15개월
210개월
315개월
420개월
정답 및 해설

LOC 기법의 개발 기간은 총 인월을 투입 인원으로 나누어 구한다.
총 인월은 36000÷300=12036000 \div 300 = 120인월이며, 이를 프로그래머 6명이 수행하면 개발 기간은 120÷6=20120 \div 6 = 20개월이다.

문제 87
정형화된 분석 절차에 따라 사용자 요구사항을 파악, 문서화하는 체계적 분석방법으로 자료흐름도, 자료사전, 소단위명세서의 특징을 갖는 것은?     
1구조적 개발 방법론
2객체지향 개발 방법론
3정보공학 방법론
4CBD 방법론
정답 및 해설

자료흐름도(DFD)·자료사전(DD)·소단위명세서(Mini-Spec)를 이용해 정형화된 절차로 사용자 요구사항을 분석·문서화하는 기법은 구조적 개발 방법론이다.
객체지향 방법론은 클래스·객체 중심의 분석이고 정보공학 방법론은 데이터 중심의 전사적 접근이라는 점에서 구조적 방법론과 구분된다.

문제 88
정보보호를 위한 암호화에 대한 설명으로 틀린 것은?     
1평문 – 암호화되기 전의 원본 메시지
2암호문 – 암호화가 적용된 메시지
3복호화 – 평문을 암호문으로 바꾸는 작업
4키(Key) - 적절한 암호화를 위하여 사용하는 값
정답 및 해설

복호화(Decryption)는 암호문을 평문으로 되돌리는 과정이며, 반대로 평문을 암호문으로 바꾸는 작업은 암호화(Encryption)다.
따라서 '복호화 – 평문을 암호문으로 바꾸는 작업'이라는 설명이 틀린 것이다.

문제 89
다음 내용이 설명하는 것은?          
1OTT
2Baas
3SDDC
4Wi-SUN
정답 및 해설

이미지의 설명 내용을 확인하면 클라우드 기반의 서비스 제공 모델로, 개발자가 서버 인프라 관리 없이 함수 단위로 코드를 실행하고 사용량에 따라 요금을 지불하는 방식을 나타내고 있습니다. 이는 Backend as a Service(BaaS)의 정의에 해당하며, 서버리스 컴퓨팅 또는 Function as a Service(FaaS) 형태의 클라우드 서비스입니다. OTT는 동영상 스트리밍 서비스, SDDC는 소프트웨어 정의 데이터센터, Wi-SUN은 무선통신 표준으로 이미지의 설명과는 무관합니다.

문제 90
소프트웨어 비용 산정 기법 중 개발 유형으로 organic, semi-detach, embedded로 구분되는 것은?     
1PUTNAM
2COCOMO
3FP
4SLIM
정답 및 해설

소프트웨어 개발 유형을 Organic(유기적)·Semi-detached(반분리형)·Embedded(내장형)로 나누어 비용을 산정하는 기법은 COCOMO 모델이다.
PUTNAM(SLIM)은 Rayleigh-Norden 곡선을 이용한 기법이고 FP는 기능점수 기반 기법으로, 이러한 3유형 분류와는 무관하다.

문제 91
다음 LAN의 네트워크 토폴로지는 어떤 형인가?          
1그물형
2십자형
3버스형
4링형
정답 및 해설

버스형 토폴로지는 하나의 공용 백본(버스) 케이블에 모든 노드가 일렬로 연결되고, 케이블 양 끝에는 신호 반사를 막는 터미네이터를 부착하는 구조다.
모든 통신이 단일 회선을 공유하므로 구조가 간단하고 설치비용이 저렴하지만, 회선의 한 지점이 단선되면 전체 네트워크 통신이 마비될 수 있다.

문제 92
전기 및 정보통신기술을 활용하여 전력망을 지능화, 고도화함으로써 고품질의 전력서비스를 제공하고 에너지 이용효율을 극대화하는 전력망은?     
1사물 인터넷
2스마트 그리드
3디지털 아카이빙
4미디어 빅뱅
정답 및 해설

스마트 그리드는 기존 전력망에 정보통신기술(ICT)을 접목해 전력 공급자와 소비자가 실시간으로 정보를 주고받으며 전력망을 지능화·고도화한 것으로, 에너지 이용 효율을 극대화하고 고품질의 전력 서비스를 제공한다.
사물 인터넷은 사물을 인터넷으로 연결하는 기술이고 디지털 아카이빙은 디지털 자료의 장기 보존을 의미할 뿐 전력망 자체와는 직접 관련이 없다.

문제 93
다음 내용이 설명하는 소프트웨어 개발 모형은?          
1프로토타입 모형
2나선형 모형
3폭포수 모형
4RAD 모형
정답 및 해설

폭포수 모형(Waterfall Model)은 요구사항 분석·설계·구현·테스트·유지보수의 각 단계를 순차적으로 진행하며 한 단계가 끝나야 다음 단계로 넘어가는 가장 전통적인 선형 순차적 생명주기 모형이다.
단계별 산출물이 명확해 관리가 쉬운 반면, 이전 단계로 되돌아가기 어렵고 개발 중 요구사항 변경을 반영하기 어렵다는 한계가 있다.

문제 94
스트림 암호화 방식의 설명으로 옳지 않은 것은?     
1비트/바이트/단어들을 순차적으로 암호화한다.
2해쉬 함수를 이용한 해쉬 암호화 방식을 사용한다.
3RC4는 스트림 암호화 방식에 해당한다.
4대칭키 암호화 방식이다.
정답 및 해설

스트림 암호는 비트·바이트·단어 단위로 평문을 순차적으로 암호화하는 대칭키 암호화 방식이며, RC4가 대표적인 스트림 암호 알고리즘이다.
스트림 암호는 키스트림 생성기(PRNG)가 만든 난수열과 평문을 XOR 연산해 암호화하는 구조이지 해쉬 함수를 이용한 해쉬 암호화 방식을 쓰지 않으므로, 이 설명이 옳지 않다.

문제 95
세션 하이재킹을 탐지하는 방법으로 거리가 먼 것은?     
1FTP SYN SEGNENT 탐지
2비동기화 상태 탐지
3ACK STORM 탐지
4패킷의 유실 및 재전송 증가 탐지
정답 및 해설

세션 하이재킹 탐지 기법으로는 정상 시퀀스 번호에서 어긋나는 비동기화 상태 탐지, 다량의 ACK 패킷이 오가는 ACK Storm 탐지, 시퀀스 불일치로 인한 패킷 유실 및 재전송 증가 탐지 등이 알려져 있다.
이에 비해 FTP SYN 세그먼트 탐지는 세션 하이재킹 탐지 기법으로 통용되지 않으므로 거리가 멀다.

문제 96
소프트웨어공학에 대한 설명으로 거리가 먼 것은?     
1소프트웨어공학이란 소프트웨어의 개발, 운용, 유지보수 및 파기에 대한 체계적인 접근 방법이다.
2소프트웨어공학은 소프트웨어 제품의 품질을 향상시키고 소프트웨어 생산성과 작업 만족도를 증대시키는 것이 목적이다.
3소프트웨어공학의 궁극적 목표는 최대의 비용으로 계획된 일정보다 가능한 빠른 시일 내에 소프트웨어를 개발하는 것이다.
4소프트웨어공학은 신뢰성 있는 소프트웨어를 경제적인 비용으로 획득하기 위해 공학적 원리를 정립하고 이를 이용하는 것이다.
정답 및 해설

소프트웨어공학의 목표는 신뢰성 있는 소프트웨어를 최소의 비용으로 계획된 일정 내에 개발해 생산성·품질과 작업 만족도를 높이는 데 있다.
따라서 "최대의 비용으로... 가능한 빠른 시일 내에 개발한다"는 설명은 비용을 최소화한다는 본래 목표와 어긋나므로 옳지 않다.

문제 97
소프트웨어 개발 방법론 중 CBD(Component Based Development)에 대한 설명으로 틀린 것은?     
1생산성과 품질을 높이고, 유지보수 비용을 최소화할 수 있다.
2컴포넌트 제작 기법을 통해 재사용성을 향상시킨다.
3모듈의 분할과 정복에 의한 하향식 설계방식이다.
4독립적인 컴포넌트 단위의 관리로 복잡성을 최소화할 수 있다.
정답 및 해설

CBD(Component Based Development)는 재사용 가능한 컴포넌트를 조립해 시스템을 구축하는 상향식(Bottom-Up) 개발 방식으로, 생산성·품질 향상과 유지보수 비용 최소화, 복잡성 최소화라는 장점을 가진다.
큰 모듈을 세부 단위로 나누어가는 하향식(Top-Down) 분할과 정복 방식은 CBD가 아니라 구조적 설계 기법의 특징이므로 이 설명이 틀렸다.

문제 98
정보 보안의 3요소에 해당하지 않는 것은?     
1기밀성
2무결성
3가용성
4휘발성
정답 및 해설

정보 보안의 3요소는 인가된 자만 정보에 접근할 수 있게 하는 기밀성, 정보가 변조되지 않고 정확함을 보장하는 무결성, 필요할 때 정보에 접근·이용할 수 있게 하는 가용성이다.
휘발성은 전원이 꺼지면 데이터가 사라지는 메모리의 성질을 뜻할 뿐 정보보안 3요소에 속하지 않는다.

문제 99
소셜 네트워크에서 악의적인 사용자가 지인 또는 특정 유명인으로 가장하여 활동하는 공격 기법은?
1Evil Twin Attack
2Phishing
3Logic Bomb
4Cyberbullying 1
정답 및 해설

이 문항은 원 설명이 제시된 공격 기법과 정확히 대응하지 않는 문제 오류로 판정되어, 공식적으로 Evil Twin Attack(①)이 정답으로 처리되었다.
따라서 개별 보기의 기술적 정의로 정답 근거를 단정하기보다, 공식 정답 처리 결과에 따른 것임을 밝힌다.

문제 100
공개키 암호에 대한 설명으로 틀린 것은?     
110명이 공개키 암호를 사용할 경우 5개의 키가 필요하다.
2복호화키는 비공개 되어 있다.
3송신자는 수신자의 공개키로 문서를 암호화한다.
4공개키 암호로 널리 알려진 알고리즘은 RSA가 있다.
정답 및 해설

공개키 암호(비대칭키 암호)는 사용자마다 공개키와 개인키(복호화키) 한 쌍을 가지며, 송신자는 수신자의 공개키로 문서를 암호화하고 수신자는 자신만 아는 개인키로 복호화하는 방식으로 RSA가 대표적이다.
n명이 공개키 암호를 사용하면 각자 한 쌍씩 총 2n2n개의 키가 필요하므로 10명이 사용할 경우 필요한 키는 5개가 아니라 2×10=202\times10=20개이며, 이 설명이 틀렸다.