정보처리기사 필기 — 기출 2회 풀이
목차 106
2021년 5월 시행(제4회) 기출. 100문항·5과목 × 20문항. 출처: 기출2회 기출문제
Part Ⅰ 소프트웨어 설계 (문 001~020)
문 001. 시스템의 구성 요소로 볼 수 없는 것은?
- ① Process
- ② Feedback
- ③ Maintenance
- ④ Control
정답 및 해설 보기
정답 ③
시스템의 기본 구성 요소는 입력(Input)·처리(Process)·출력(Output)·제어(Control)·피드백(Feedback) 다섯이다. 무언가를 받아(입력) 규칙에 따라 가공하고(처리) 결과를 내보내며(출력), 목표 방향으로 통제하고(제어) 결과를 다시 입력에 반영(피드백)한다.
- ③ 유지보수(Maintenance)는 운영 중 발생하는 문제 해결·성능 개선을 위한 활동이지 시스템을 이루는 구성 요소가 아니다.
🔑 암기 — 시스템 5요소: 입·처·출·제·피.
문 002. 유스케이스(Usecase)에 대한 설명 중 옳은 것은?
- ① 유스케이스 다이어그램은 개발자의 요구를 추출하고 분석하기 위해 주로 사용한다.
- ② 액터는 대상 시스템과 상호작용하는 사람이나 다른 시스템에 의한 역할이다.
- ③ 사용자 액터는 본 시스템과 데이터를 주고받는 연동 시스템을 의미한다.
- ④ 연동의 개념은 일방적으로 데이터를 파일이나 정해진 형식으로 넘겨주는 것을 의미한다.
정답 및 해설 보기
정답 ②
액터(Actor) 는 시스템 외부에서 시스템과 상호작용하는 대상이다. 사람뿐 아니라 결제·인증 시스템 같은 다른 시스템도 액터가 될 수 있으므로 ②가 정확한 정의다.
- ① 유스케이스 다이어그램은 개발자가 아니라 사용자의 요구를 추출·분석하기 위해 쓴다.
- ③ '사용자 액터'는 주로 사람을 가리킨다. 데이터를 주고받는 연동 시스템은 시스템 액터다.
- ④ 연동은 일방적 전달뿐 아니라 양방향 상호작용까지 포함하는 넓은 개념이다.
문 003. 요구사항 개발 프로세스의 순서로 옳은 것은?
㉠ 도출(Elicitation) ㉡ 분석(Analysis) ㉢ 명세(Specification) ㉣ 확인(Validation)
- ① ㉠-㉡-㉢-㉣
- ② ㉠-㉢-㉡-㉣
- ③ ㉠-㉣-㉡-㉢
- ④ ㉠-㉡-㉣-㉢
정답 및 해설 보기
정답 ①
요구사항 개발은 도출 → 분석 → 명세 → 확인 순서다(㉠-㉡-㉢-㉣).
| 단계 | 핵심 질문 | 주요 활동 |
|---|---|---|
| 도출(Elicitation) | 무엇을 원하나? | 인터뷰·설문·브레인스토밍 |
| 분석(Analysis) | 말이 되나? | 분류·개념 모델링·충돌 해결 |
| 명세(Specification) | 어떻게 기록하나? | 요구사항 명세서·다이어그램 작성 |
| 확인(Validation) | 이게 맞나? | 프로토타입 시연·동료 검토·워크스루 |
🔑 암기 — 도분명확(도출·분석·명세·확인).
문 004. 객체지향 기법에서 같은 클래스에 속한 각각의 객체를 의미하는 것은?
- ① Instance
- ② Message
- ③ Method
- ④ Module
정답 및 해설 보기
정답 ①
클래스(설계도)로부터 실제로 만들어진 객체를 인스턴스(Instance) 라 한다. '같은 클래스에 속한 각각의 객체'라는 표현이 곧 인스턴스의 정의다.
- ② Message: 객체끼리 상호작용하기 위해 주고받는 신호.
- ③ Method: 객체가 수행하는 동작(함수).
- ④ Module: 독립적으로 분리·재사용되는 프로그램 단위.
💡 객체와 인스턴스는 거의 같은 뜻이나, 클래스와의 생성 관계를 강조할 때 '인스턴스'를 쓴다.
문 005. 객체지향 설계에서 객체가 가지고 있는 속성과 오퍼레이션의 일부를 감추어서 객체의 외부에서는 접근이 불가능하게 하는 개념은?
- ① 조직화(Organizing)
- ② 캡슐화(Encapsulation)
- ③ 정보은닉(Information Hiding)
- ④ 구조화(Structuralization)
정답 및 해설 보기
정답 ②·③ (복수정답 처리)
지문의 '일부를 감추어서 외부 접근을 불가능하게 한다'는 표현은 정보은닉(Information Hiding) 의 정의에 가장 부합한다. 다만 캡슐화 역시 속성·메서드를 하나로 묶으며 내부를 감추는 효과를 가지므로, 이 문항은 ②·③ 복수정답으로 처리되었다.
| 구분 | 캡슐화(Encapsulation) | 정보은닉(Information Hiding) |
|---|---|---|
| 핵심 | 묶는다(Bundling) | 숨긴다(Hiding) |
| 목적 | 데이터+메서드를 한 단위로 관리 | 내부 구현을 감추고 데이터 보호 |
| 관계 | 정보은닉의 전제 조건(먼저 묶어야 숨긴다) | 캡슐화로 달성하려는 목표 |
- ① 조직화·④ 구조화: 이 맥락의 표준 용어가 아니다.
문 006. GoF(Gangs of Four) 디자인 패턴에 대한 설명으로 틀린 것은?
- ① Factory Method Pattern은 상위클래스에서 객체를 생성하는 인터페이스를 정의하고, 하위클래스에서 인스턴스를 생성하도록 하는 방식이다.
- ② Prototype Pattern은 Prototype을 먼저 생성하고 인스턴스를 복제하여 사용하는 구조이다.
- ③ Bridge Pattern은 기존에 구현되어 있는 클래스에 기능 발생 시 기존 클래스를 재사용할 수 있도록 중간에서 맞춰주는 역할을 한다.
- ④ Mediator Pattern은 객체 간의 통제와 지시의 역할을 하는 중재자를 두어 객체지향의 목표를 달성하게 해준다.
정답 및 해설 보기
정답 ③
③의 '기존 클래스를 재사용하도록 중간에서 맞춰주는 역할'은 어댑터(Adapter) 패턴의 설명이다. 호환되지 않는 인터페이스를 변환해 함께 동작하게 한다(110V↔220V '돼지코').
브리지(Bridge) 패턴은 기능의 추상부와 구현부를 분리해 둘을 독립적으로 확장하게 한다.
- ①·②·④는 각 패턴(팩토리 메서드·프로토타입·중재자)을 올바르게 설명했다.
⚠️ 함정 — 어댑터(변환·호환)와 브리지(추상/구현 분리)는 단골 혼동 포인트.
문 007. 요구사항 분석이 어려운 이유가 아닌 것은?
- ① 개발자와 사용자 간의 지식이나 표현의 차이가 커서 상호 이해가 쉽지 않다.
- ② 사용자의 요구는 예외가 거의 없어 열거와 구조화가 어렵지 않다.
- ③ 사용자의 요구사항이 모호하고 불명확하다.
- ④ 소프트웨어 개발 과정 중에 요구사항이 계속 변할 수 있다.
정답 및 해설 보기
정답 ②
요구사항 분석이 어려운 까닭은 '사람'과 '변화' 때문이다 — 개발자·사용자의 지식 차이(①), 요구의 모호함(③), 개발 중 잦은 변경(④).
- ② 실제 사용자 요구는 수많은 예외 케이스를 가져 열거·구조화가 매우 어렵다. 정반대 진술이므로 정답.
문 008. 소프트웨어 아키텍처 설계에서 시스템 품질 속성이 아닌 것은?
- ① 가용성(Availability)
- ② 독립성(Isolation)
- ③ 변경 용이성(Modifiability)
- ④ 사용성(Usability)
정답 및 해설 보기
정답 ②
아키텍처 품질 속성은 시스템이 '얼마나 잘' 만들어졌는지를 나타내는 비기능 요구로, 가용성(①)·변경 용이성(③)·사용성(④)·성능·보안성·시험 용이성 등이 있다.
- ② 독립성(Isolation)은 특정 모듈이 다른 부분에 영향을 주지 않는 기술적 특성으로, 시스템 전체의 품질 속성을 가리키는 일반 용어로 보기 어렵다.
문 009. 다음 설명에 해당하는 시스템으로 옳은 것은?
시스템 인터페이스를 구성하는 시스템으로, 연계할 데이터를 데이터베이스와 애플리케이션으로부터 연계 테이블 또는 파일 형태로 생성하여 송신하는 시스템이다.
- ① 연계 서버
- ② 중계 서버
- ③ 송신 시스템
- ④ 수신 시스템
정답 및 해설 보기
정답 ③
데이터를 생성해 송신하는 역할이므로 송신 시스템이다.
- ④ 수신 시스템: 송신 시스템이 보낸 데이터를 받는다.
- ①·② 연계/중계 서버: 송·수신 시스템 사이에서 데이터 송수신을 관리·통제하는 별도 시스템.
문 010. CASE(Computer-Aided Software Engineering)의 원천 기술이 아닌 것은?
- ① 구조적 기법
- ② 프로토타이핑 기술
- ③ 정보 저장소 기술
- ④ 일괄 처리 기술
정답 및 해설 보기
정답 ④
CASE는 소프트웨어 개발을 자동화하는 도구로, 원천 기술로 구조적 기법(①)·프로토타이핑(②)·정보 저장소(Repository, ③)·분산처리·자동화 도구 기술 등이 있다.
- ④ 일괄 처리(Batch Processing)는 데이터를 모아 한 번에 처리하는 초창기 작업 방식으로 CASE의 원천 기술이 아니다.
문 011. 객체에게 어떤 행위를 하도록 지시하는 명령은?
- ① Class
- ② Package
- ③ Object
- ④ Message
정답 및 해설 보기
정답 ④
객체가 다른 객체에게 "이 일을 해달라"고 보내는 요청·명령이 메시지(Message) 다. 메시지를 받은 객체는 해당 메서드(Method) 를 실행해 응답한다.
- ①·②·③ 클래스·패키지·객체는 구성 요소이지 '행위 지시 명령' 자체가 아니다.
💡 메시지 구성: 수신자(Receiver)·메서드명(Method Name)·인자(Arguments).
문 012. 서브시스템이 입력 데이터를 받아 처리하고 결과를 다른 시스템에 보내는 작업이 반복되는 아키텍처 스타일은?
- ① 클라이언트 서버 구조
- ② 계층 구조
- ③ MVC 구조
- ④ 파이프 필터 구조
정답 및 해설 보기
정답 ④
파이프-필터(Pipe-Filter) 구조다. 각 필터가 데이터를 입력받아 처리·출력하고, 파이프가 필터 사이로 데이터를 흘려보내는 과정이 반복된다(컴파일러·유닉스 쉘 파이프라인).
- ① 클라이언트-서버: 요청/응답으로 자원·서비스 분리.
- ② 계층 구조: 상하 계층으로 수직 분리.
- ③ MVC: 데이터(Model)·화면(View)·제어(Controller) 분리.
문 013. 럼바우(Rumbaugh)의 객체지향 분석에서 사용하는 분석 활동으로 옳은 것은?
- ① 객체 모델링, 동적 모델링, 정적 모델링
- ② 객체 모델링, 동적 모델링, 기능 모델링
- ③ 동적 모델링, 기능 모델링, 정적 모델링
- ④ 정적 모델링, 객체 모델링, 기능 모델링
정답 및 해설 보기
정답 ②
럼바우의 객체지향 분석은 객체·동적·기능 모델링 세 관점이다.
| 모델링 | 관점 | 주요 다이어그램 |
|---|---|---|
| 객체 모델링 | 정적 구조(What) | 객체 다이어그램·ER 다이어그램 |
| 동적 모델링 | 상태 변화(When) | 상태 전이 다이어그램 |
| 기능 모델링 | 데이터 흐름(How) | 자료 흐름도(DFD) |
🔑 암기 — 럼바우 객·동·기.
문 014. UML 다이어그램이 아닌 것은?
- ① 액티비티 다이어그램(Activity diagram)
- ② 절차 다이어그램(Procedural diagram)
- ③ 클래스 다이어그램(Class diagram)
- ④ 시퀀스 다이어그램(Sequence diagram)
정답 및 해설 보기
정답 ②
액티비티·클래스·시퀀스는 모두 UML 표준 다이어그램이다.
- ② 절차 다이어그램(Procedural diagram)은 UML 표준 용어가 아니다. '절차'는 구조적 방법론의 순서도(Flowchart) 개념에 가깝다.
문 015. UML 모델에서 한 객체가 다른 객체에게 오퍼레이션을 수행하도록 지정하는 의미적 관계로 옳은 것은?
- ① Dependency
- ② Realization
- ③ Generalization
- ④ Association
정답 및 해설 보기
정답 ②
'한 객체가 다른 객체에게 오퍼레이션을 수행하도록 지정하는 의미적 관계'는 실체화(Realization) 의 정의다. 인터페이스(기능 명세)와 그것을 실제 구현한 클래스 사이의 관계로, 클래스가 인터페이스의 오퍼레이션을 '실체'로 만들어 준다.
| 관계 | 의미 | 표기 |
|---|---|---|
| 의존(Dependency) | 일시적 사용·참조 | 점선 화살표 |
| 연관(Association) | 구조적 연결(has-a) | 실선 |
| 일반화(Generalization) | 상속(is-a) | 속 빈 삼각형 |
| 실체화(Realization) | 인터페이스 구현(implements) | 점선+빈 삼각형 |
문 016. 다음 중 상위 CASE 도구가 지원하는 주요 기능으로 볼 수 없는 것은?
- ① 모델들 사이의 모순 검사 기능
- ② 전체 소스 코드 생성 기능
- ③ 모델의 오류 검증 기능
- ④ 자료흐름도 작성 기능
정답 및 해설 보기
정답 ②
상위(Upper) CASE 는 분석·설계 단계를 지원한다. 모순 검사(①)·오류 검증(③)·자료흐름도 작성(④)이 주 기능이다.
- ② 전체 소스 코드 생성은 구현(코딩) 단계의 기능으로, 하위(Lower) CASE 의 대표 기능이다.
| 구분 | 담당 단계 | 주요 기능 |
|---|---|---|
| 상위 CASE | 분석·설계 | 모델링·다이어그램·모순 검사 |
| 하위 CASE | 구현·테스트 | 소스 코드 생성·테스트 자동화 |
| 통합 CASE | 전체 | 상·하위 기능 통합 |
문 017. 요구사항 관리 도구의 필요성으로 틀린 것은?
- ① 요구사항 변경으로 인한 비용 편익 분석
- ② 기존 시스템과 신규 시스템의 성능 비교
- ③ 요구사항 변경의 추적
- ④ 요구사항 변경에 따른 영향 평가
정답 및 해설 보기
정답 ②
요구사항 관리 도구는 요구사항의 변경 이력 추적(③), 변경 영향 평가(④), 비용·편익 분석(①)을 지원한다.
- ② '기존·신규 시스템의 성능 비교'는 성능 테스트 도구의 역할로, 요구사항 관리와 거리가 멀다.
문 018. 애자일 개발 방법론이 아닌 것은?
- ① 스크럼(Scrum)
- ② 익스트림 프로그래밍(XP, eXtreme Programming)
- ③ 기능 주도 개발(FDD, Feature Driven Development)
- ④ 하둡(Hadoop)
정답 및 해설 보기
정답 ④
스크럼(①)·XP(②)·FDD(③)는 모두 애자일 방법론이다.
- ④ 하둡(Hadoop)은 대용량 데이터를 분산 처리하는 빅데이터 프레임워크로, 개발 방법론이 아니다.
💡 대표 애자일: 스크럼·XP·칸반·린·FDD·크리스탈.
문 019. GoF(Gangs of Four) 디자인 패턴 중 생성 패턴으로 옳은 것은?
- ① Singleton Pattern
- ② Adapter Pattern
- ③ Decorator Pattern
- ④ State Pattern
정답 및 해설 보기
정답 ①
GoF는 생성·구조·행위 3분류다. 싱글톤(Singleton) 은 인스턴스를 하나만 만들도록 통제하므로 생성 패턴이다.
- ② 어댑터·③ 데코레이터: 구조 패턴.
- ④ 상태(State): 행위 패턴.
🔑 암기 — 생성 추빌팩프싱(추상팩토리·빌더·팩토리메서드·프로토타입·싱글톤).
문 020. 사용자 인터페이스(UI)의 특징으로 틀린 것은?
- ① 구현하고자 하는 결과의 오류를 최소화한다.
- ② 사용자의 편의성을 높임으로써 작업 시간을 증가시킨다.
- ③ 막연한 작업 기능에 대해 구체적인 방법을 제시하여 준다.
- ④ 사용자 중심의 상호작용이 되도록 한다.
정답 및 해설 보기
정답 ②
좋은 UI는 오류 최소화(①)·구체적 방법 제시(③)·사용자 중심 상호작용(④)을 지향한다.
- ② 편의성이 높아지면 작업 시간은 감소해야 한다. '증가시킨다'는 정반대 진술이므로 정답.
Part Ⅱ 소프트웨어 개발 (문 021~040)
문 021. 힙 정렬(Heap Sort)에 대한 설명으로 틀린 것은?
- ① 정렬할 입력 레코드들로 힙을 구성하고 가장 큰 키 값을 갖는 루트 노드를 제거하는 과정을 반복하여 정렬하는 기법이다.
- ② 평균 수행 시간은 O(nLog₂n)이다.
- ③ 완전 이진 트리(Complete Binary Tree)로 입력 자료의 레코드를 구성한다.
- ④ 최악의 수행 시간은 O(2n⁴)이다.
정답 및 해설 보기
정답 ④
힙 정렬은 완전 이진 트리인 힙(최대/최소 힙)을 이용해 루트(최댓값/최솟값)를 반복 추출하며 정렬한다. ①·②·③은 모두 옳다.
- ④ 힙 정렬은 평균·최악 모두 O(nlog₂n) 이다. O(2n⁴)는 틀린 복잡도다.
| 정렬 | 평균 | 최악 |
|---|---|---|
| 버블·선택·삽입 | O(n²) | O(n²) |
| 퀵 | O(nlog₂n) | O(n²) |
| 힙·병합 | O(nlog₂n) | O(nlog₂n) |
🔑 암기 — 평균·최악 모두 O(nlog₂n): 힙·병합. 퀵은 평균만 빠르고 최악 O(n²).
문 022. 다음 중 단위 테스트를 통해 발견할 수 있는 오류가 아닌 것은?
- ① 알고리즘 오류에 따른 원치 않는 결과
- ② 탈출구가 없는 반복문의 사용
- ③ 모듈 간의 비정상적 상호작용으로 인한 원치 않는 결과
- ④ 틀린 계산 수식에 의한 잘못된 결과
정답 및 해설 보기
정답 ③
단위 테스트는 모듈 하나 내부의 논리를 검사한다. 알고리즘 오류(①)·무한 루프(②)·계산식 오류(④)는 모두 한 모듈 안에서 잡을 수 있다.
- ③ '모듈 간 비정상적 상호작용'은 모듈을 연결해야만 드러나므로 통합 테스트의 영역이다.
문 023. 다음 설명의 소프트웨어 테스트의 기본 원칙은?
- 파레토 법칙이 좌우한다.
- 애플리케이션 결함의 대부분은 소수의 특정한 모듈에 집중되어 존재한다.
- 결함은 발생한 모듈에서 계속 추가로 발생할 가능성이 높다.
- ① 살충제 패러독스
- ② 결함 집중
- ③ 오류 부재의 궤변
- ④ 완벽한 테스팅은 불가능
정답 및 해설 보기
정답 ②
결함이 소수 모듈에 몰린다는 파레토(80:20) 성격의 원칙은 결함 집중(Defect Clustering) 이다.
- ① 살충제 패러독스: 같은 테스트 케이스를 반복하면 새 결함을 못 잡는 현상.
- ③ 오류 부재의 궤변: 결함이 없어도 요구를 못 채우면 품질이 높다고 할 수 없음.
- ④ 완벽한 테스팅 불가능: 모든 입력·경로 테스트는 비현실적.
문 024. 버전 관리 항목 중 저장소에 새로운 버전의 파일로 갱신하는 것을 의미하는 용어는?
- ① 형상 감사(Configuration Audit)
- ② 롤백(Rollback)
- ③ 단위 테스트(Unit Test)
- ④ 체크인(Check-In)
정답 및 해설 보기
정답 ④
로컬에서 수정한 내용을 저장소에 올려 새 버전으로 갱신하는 행위가 체크인(Check-In) 이다(Git의 commit→push 흐름).
- ② 롤백: 이전 버전으로 되돌림.
- ①·③ 형상 감사·단위 테스트는 '파일 갱신' 용어가 아니다.
문 025. 소프트웨어 테스트와 관련한 설명으로 틀린 것은?
- ① 화이트박스 테스트는 모듈의 논리적인 구조를 체계적으로 점검할 수 있다.
- ② 블랙박스 테스트는 프로그램의 구조를 고려하지 않는다.
- ③ 테스트 케이스에는 일반적으로 시험 조건, 테스트 데이터, 예상 결과가 포함되어야 한다.
- ④ 화이트박스 테스트에서 기본 경로(Basis Path)란 흐름 그래프의 시작 노드에서 종료 노드까지의 서로 독립된 경로로 싸이클을 허용하지 않는 경로를 말한다.
정답 및 해설 보기
정답 ④
①·②·③은 옳다.
- ④ 기본 경로(Basis Path)는 시작~종료 노드까지의 독립된 경로로, 반복(Loop, 싸이클)을 포함할 수 있다. '싸이클을 허용하지 않는다'는 진술이 틀렸다.
| 구분 | 화이트박스 | 블랙박스 |
|---|---|---|
| 관점 | 개발자(내부 구조) | 사용자(외부 명세) |
| 종류 | 구문·결정·조건 커버리지, 기본 경로 | 동등 분할, 경계값 분석, 원인-결과 그래프 |
문 026. 애플리케이션의 처리량, 응답 시간, 경과 시간, 자원 사용률에 대해 가상의 사용자를 생성하고 테스트를 수행함으로써 성능 목표를 달성하였는지를 확인하는 테스트 자동화 도구는?
- ① 명세 기반 테스트 설계 도구
- ② 코드 기반 테스트 설계 도구
- ③ 기능 테스트 수행 도구
- ④ 성능 테스트 도구
정답 및 해설 보기
정답 ④
처리량·응답 시간·자원 사용률은 모두 성능 지표다. 가상 사용자를 만들어 부하 상황의 성능 목표 달성 여부를 보는 것은 성능 테스트 도구다(JMeter·nGrinder 등).
- ①·② 테스트 케이스 설계 도구, ③ 기능 동작 확인 도구로 목적이 다르다.
문 027. 소프트웨어 형상관리에 대한 설명으로 거리가 먼 것은?
- ① 소프트웨어에 가해지는 변경을 제어하고 관리한다.
- ② 프로젝트 계획, 분석서, 설계서, 프로그램, 테스트 케이스 모두 관리 대상이다.
- ③ 대표적인 형상관리 도구로 Ant, Maven, Gradle 등이 있다.
- ④ 유지 보수 단계뿐만 아니라 개발 단계에도 적용할 수 있다.
정답 및 해설 보기
정답 ③
형상관리(SCM)는 산출물의 변경을 추적·통제하는 활동으로 ①·②·④는 옳다.
- ③ Ant·Maven·Gradle은 빌드 자동화 도구다. 대표적 형상관리 도구는 Git·SVN·CVS.
⚠️ 함정 — 형상관리(Git/SVN/CVS) ↔ 빌드(Ant/Maven/Gradle) 구분은 단골 출제.
문 028. 디지털 저작권 관리(DRM) 구성 요소가 아닌 것은?
- ① Dataware house
- ② DRM Controller
- ③ Packager
- ④ Contents Distributor
정답 및 해설 보기
정답 ①
DRM 구성 요소는 콘텐츠를 암호화·패키징하는 Packager, 사용 권한을 통제하는 DRM Controller, 콘텐츠를 배포하는 Contents Distributor, 권한 발급·결제의 Clearing House 등이다.
- ① Data Warehouse는 의사결정 지원용 데이터를 통합 저장하는 DB 시스템으로 DRM과 무관하다.
문 029. 다음 설명의 소프트웨어 버전 관리 도구 방식은?
- 버전 관리 자료가 원격 저장소와 로컬 저장소에 함께 저장되어 관리된다.
- 로컬 저장소에서 버전 관리가 가능하므로 원격 저장소에 문제가 생겨도 로컬 저장소의 자료를 이용하여 작업할 수 있다.
- 대표적인 버전 관리 도구로 Git이 있다.
- ① 단일 저장소 방식
- ② 분산 저장소 방식
- ③ 공유 폴더 방식
- ④ 클라이언트·서버 방식
정답 및 해설 보기
정답 ②
원격·로컬 저장소에 자료가 함께 저장되고 로컬에서도 버전 관리가 되며 대표 도구가 Git인 방식은 분산 저장소 방식이다.
- ④ 클라이언트·서버(중앙 집중) 방식은 중앙 서버에만 전체 이력이 있어 네트워크 연결이 필요하다(SVN).
문 030. 블랙박스 테스트를 이용하여 발견할 수 있는 오류가 아닌 것은?
- ① 비정상적인 자료를 입력해도 오류 처리를 수행하지 않는 경우
- ② 정상적인 자료를 입력해도 요구된 기능이 제대로 수행되지 않는 경우
- ③ 반복 조건을 만족하는데도 루프 내의 문장이 수행되지 않는 경우
- ④ 경계값을 입력할 경우 요구된 출력 결과가 나오지 않는 경우
정답 및 해설 보기
정답 ③
블랙박스는 입력·출력으로 기능의 명세 준수를 본다. ①·②·④는 입력값에 대한 기대 출력 확인이므로 블랙박스로 잡을 수 있다.
- ③ '반복 조건을 만족하는데 루프 내부가 실행 안 됨'은 내부 제어 구조를 봐야 알 수 있어 화이트박스의 영역이다.
문 031. 다음 자료를 버블 정렬을 이용하여 오름차순으로 정렬할 경우 Pass 2의 결과는?
9, 6, 7, 3, 5
- ① 3, 5, 6, 7, 9
- ② 6, 7, 3, 5, 9
- ③ 3, 5, 9, 6, 7
- ④ 6, 3, 5, 7, 9
정답 및 해설 보기
정답 ④
버블 정렬(오름차순)은 인접한 두 값을 비교해 왼쪽이 크면 교환하며, 한 Pass마다 가장 큰 값이 뒤로 확정된다.
- 초기:
9, 6, 7, 3, 5 - Pass 1:
6, 7, 3, 5, 9(9 확정) - Pass 2:
6, 3, 5, 7, 9(7 확정)
따라서 Pass 2 결과는 6, 3, 5, 7, 9 다.
문 032. 정렬된 N개의 데이터를 처리하는 데 O(NLog₂N)의 시간이 소요되는 정렬 알고리즘은?
- ① 합병 정렬
- ② 버블 정렬
- ③ 선택 정렬
- ④ 삽입 정렬
정답 및 해설 보기
정답 ①
O(nlog₂n) 정렬은 합병(병합)·힙·퀵(평균) 이다.
- ②·③·④ 버블·선택·삽입은 모두 O(n²)다.
문 033. 다음 Postfix로 표현된 연산식의 연산 결과로 옳은 것은?
3456+
- ① 35
- ② 42
- ③ 81
- ④ 360
정답 및 해설 보기
정답 ②
후위 표기식 34*56*+ 은 토큰 3 4 * 5 6 * + 으로, 스택으로 계산한다.
3,4push →*: 3×4 = 125,6push →*: 5×6 = 30+: 12 + 30 = 42
중위식으로 바꾸면 (3×4) + (5×6) = 42 다.
문 034. EAI(Enterprise Application Integration) 구축 유형에서 애플리케이션 사이에 미들웨어를 두어 처리하는 것은?
- ① Message Bus
- ② Point-to-Point
- ③ Hub & Spoke
- ④ Hybrid
정답 및 해설 보기
정답 ①
Message Bus(ESB) 는 모든 애플리케이션을 공용 '버스' 미들웨어 계층에 연결해 메시지를 라우팅·변환·전달한다. '애플리케이션 사이에 미들웨어를 둔다'는 설명에 부합한다.
| 유형 | 구조 |
|---|---|
| Point-to-Point | 1:1 직접 연결(많아지면 복잡) |
| Hub & Spoke | 중앙 허브 경유 |
| Message Bus | 공용 버스(미들웨어) 채널 |
| Hybrid | 위 방식 혼합 |
문 035. 인터페이스 구현 검증 도구가 아닌 것은?
- ① Foxbase
- ② STAF
- ③ watir
- ④ xUnit
정답 및 해설 보기
정답 ①
인터페이스 구현 검증 도구로 단위 테스트 프레임워크 xUnit, 자동화 프레임워크 STAF, Ruby 기반 웹 테스트 watir 등이 있다.
- ① Foxbase는 1980년대의 관계형 DBMS로 검증 도구가 아니다.
🔑 암기 — 인터페이스 구현 검증: xUnit·STAF·watir·FitNesse·NTAF·Selenium.
문 036. 클린 코드 작성 원칙에 대한 설명으로 틀린 것은?
- ① 코드의 중복을 최소화한다.
- ② 코드가 다른 모듈에 미치는 영향을 최대화하도록 작성한다.
- ③ 누구든지 코드를 쉽게 읽을 수 있도록 작성한다.
- ④ 간단하게 코드를 작성한다.
정답 및 해설 보기
정답 ②
클린 코드는 중복 최소화(DRY, ①)·가독성(③)·단순성(KISS, ④)을 지향한다.
- ② 좋은 코드는 다른 모듈에 미치는 영향을 최소화(낮은 결합도)해야 한다. '최대화'는 정반대다.
문 037. 소프트웨어 패키징에 대한 설명으로 틀린 것은?
- ① 패키징은 개발자 중심으로 진행한다.
- ② 신규 및 변경 개발소스를 식별하고, 이를 모듈화하여 상용제품으로 패키징 한다.
- ③ 고객의 편의성을 위해 매뉴얼 및 버전관리를 지속적으로 한다.
- ④ 범용 환경에서 사용이 가능하도록 일반적인 배포 형태로 패키징이 진행된다.
정답 및 해설 보기
정답 ①
②·③·④는 옳다.
- ① 패키징은 사용자(고객) 중심으로 진행한다. 개발자가 아니라 사용자의 설치·사용 편의가 최우선이다.
문 038. 공학적으로 잘된 소프트웨어(Well Engineered Software)의 설명 중 틀린 것은?
- ① 소프트웨어는 유지보수가 용이해야 한다.
- ② 소프트웨어는 신뢰성이 높아야 한다.
- ③ 소프트웨어는 사용자 수준에 무관하게 일관된 인터페이스를 제공해야 한다.
- ④ 소프트웨어는 충분한 테스팅을 거쳐야 한다.
정답 및 해설 보기
정답 ③
잘된 소프트웨어는 유지보수성(①)·신뢰성(②)·충분한 테스팅(④)을 갖춰야 한다.
- ③ 좋은 소프트웨어는 사용자 수준에 적절한 인터페이스를 제공해야 한다(초보자·전문가 모드 등). '사용자 수준에 무관하게'가 틀렸다.
문 039. 테스트와 디버그의 목적으로 옳은 것은?
- ① 테스트는 오류를 찾는 작업이고 디버깅은 오류를 수정하는 작업이다.
- ② 테스트는 오류를 수정하는 작업이고 디버깅은 오류를 찾는 작업이다.
- ③ 둘 다 소프트웨어의 오류를 찾는 작업으로 오류 수정은 하지 않는다.
- ④ 둘 다 소프트웨어 오류의 발견, 수정과 무관하다.
정답 및 해설 보기
정답 ①
테스트는 결함의 존재를 드러내 찾아내는 활동, 디버깅은 발견된 결함의 원인을 찾아 코드를 수정하는 활동이다.
💡 비유 — 테스트는 병 '진단', 디버깅은 '치료'.
문 040. 다음 중 스택을 이용한 연산과 거리가 먼 것은?
- ① 선택 정렬
- ② 재귀 호출
- ③ 후위 표현(Post-fix Expression)의 연산
- ④ 깊이 우선 탐색
정답 및 해설 보기
정답 ①
스택(LIFO)을 쓰는 연산: 재귀 호출(콜 스택, ②)·후위 표기 연산(③)·깊이 우선 탐색(DFS의 백트래킹, ④).
- ① 선택 정렬은 최솟값을 찾아 앞으로 보내는 반복으로, 스택을 직접 쓰지 않는다.
Part Ⅲ 데이터베이스 구축 (문 041~060)
문 041. 병렬 데이터베이스 환경 중 수평 분할에서 활용되는 분할 기법이 아닌 것은?
- ① 라운드-로빈
- ② 범위 분할
- ③ 예측 분할
- ④ 해시 분할
정답 및 해설 보기
정답 ③
수평 분할(레코드 단위 분할) 기법은 라운드-로빈(순차 분배)·범위 분할(값 범위 기준)·해시 분할(해시 함수 결과 기준)·리스트 분할 등이다.
- ③ '예측 분할'은 일반적인 DB 분할 기법에 없는 용어다.
문 042. 시스템 카탈로그에 대한 설명으로 옳지 않은 것은?
- ① 사용자가 직접 시스템 카탈로그의 내용을 갱신하여 데이터베이스 무결성을 유지한다.
- ② 시스템 자신이 필요로 하는 스키마 및 여러 가지 객체에 관한 정보를 포함하고 있는 시스템 데이터베이스이다.
- ③ 시스템 카탈로그에 저장되는 내용을 메타데이터라고도 한다.
- ④ 시스템 카탈로그는 DBMS가 스스로 생성하고 유지한다.
정답 및 해설 보기
정답 ①
시스템 카탈로그(데이터 사전)는 DB 구조 정보(메타데이터, ③)를 담은 시스템 DB(②)로, DBMS가 스스로 생성·유지한다(④).
- ① 사용자가 직접 갱신할 수 없다. CREATE/ALTER 등으로 사용자가 객체를 바꾸면 DBMS가 자동으로 카탈로그를 갱신한다. 사용자의 직접 수정은 무결성을 깬다.
문 043. SQL문에서 SELECT에 대한 설명으로 옳지 않은 것은?
- ① FROM 절에는 질의에 의해 검색될 데이터들을 포함하는 테이블명을 기술한다.
- ② 검색 결과에 중복되는 레코드를 없애기 위해서는 WHERE 절에 'DISTINCT' 키워드를 사용한다.
- ③ HAVING 절은 GROUP BY 절과 함께 사용되며, 그룹에 대한 조건을 지정한다.
- ④ ORDER BY 절은 특정 속성을 기준으로 정렬하여 검색할 때 사용한다.
정답 및 해설 보기
정답 ②
①·③·④는 옳다.
- ② DISTINCT 는 WHERE가 아니라 SELECT 절 바로 뒤에 쓴다.
SELECT DISTINCT 컬럼 FROM 테이블이 올바른 형식이다.
💡 SELECT 실행 순서: FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY.
문 044. SQL에서 VIEW를 삭제할 때 사용하는 명령은?
- ① ERASE
- ② KILL
- ③ DROP
- ④ DELETE
정답 및 해설 보기
정답 ③
뷰는 데이터베이스 객체이므로 구조 자체를 제거하는 DROP(DDL)으로 삭제한다(DROP VIEW 뷰이름;).
- ④ DELETE는 행(데이터)을 삭제하는 DML이다. ①·② ERASE·KILL은 표준 SQL이 아니다.
| 구분 | DELETE | TRUNCATE | DROP |
|---|---|---|---|
| 분류 | DML | DDL | DDL |
| 대상 | 행(WHERE 가능) | 전체 행 | 객체 구조 |
| Rollback | 가능 | 불가 | 불가 |
문 045. DDL(Data Define Language)의 명령어 중 스키마, 도메인, 인덱스 등을 정의할 때 사용하는 SQL문은?
- ① ALTER
- ② SELECT
- ③ CREATE
- ④ INSERT
정답 및 해설 보기
정답 ③
객체를 새로 정의(생성) 하는 DDL은 CREATE 다(CREATE TABLE/VIEW/INDEX).
- ① ALTER: 기존 구조 수정(DDL). ② SELECT·④ INSERT: 데이터 조회·삽입(DML).
🔑 암기 — DDL Create·Alter·Drop·Truncate / DML SELECT·INSERT·UPDATE·DELETE / DCL GRANT·REVOKE.
문 046. 테이블 R1, R2에 대하여 다음 SQL문의 결과는?
(SELECT 학번 FROM R1)
INTERSECT
(SELECT 학번 FROM R2)
[R1 테이블]
| 학번 | 학점 수 |
|---|---|
| 20201111 | 15 |
| 20202222 | 20 |
[R2 테이블]
| 학번 | 과목번호 |
|---|---|
| 20202222 | CS200 |
| 20203333 | CS300 |
보기 ①
| 학번 | 학점 수 | 과목번호 |
|---|---|---|
| 20202222 | 20 | CS200 |
보기 ②
| 학번 |
|---|
| 20202222 |
보기 ③
| 학번 |
|---|
| 20201111 |
| 20202222 |
| 20203333 |
보기 ④
| 학번 | 학점 수 | 과목번호 |
|---|---|---|
| 20201111 | 15 | NULL |
| 20202222 | 20 | CS200 |
| 20203333 | NULL | CS300 |
정답 및 해설 보기
정답 ②
INTERSECT는 두 SELECT 결과의 교집합(공통 행)만 반환한다.
- R1의 학번:
20201111,20202222 - R2의 학번:
20202222,20203333 - 교집합:
20202222하나뿐
결과는 학번 한 컬럼에 20202222 한 행이므로 ②다.
💡 집합 연산자: UNION(합집합)·INTERSECT(교집합)·MINUS/EXCEPT(차집합).
문 047. 데이터베이스 설계 시 물리적 설계 단계에서 수행하는 사항이 아닌 것은?
- ① 레코드 집중의 분석 및 설계
- ② 접근 경로 설계
- ③ 저장 레코드의 양식 설계
- ④ 목표 DBMS에 맞는 스키마 설계
정답 및 해설 보기
정답 ④
물리적 설계는 디스크 저장 방식·성능 관련 작업으로 레코드 집중(①)·접근 경로(②)·저장 레코드 양식(③)을 다룬다.
- ④ '목표 DBMS에 맞는 스키마 설계'는 논리적 설계 단계에 해당한다.
| 단계 | 산출물 |
|---|---|
| 개념적 | ERD |
| 논리적 | 테이블 스키마·정규화(목표 DBMS 반영) |
| 물리적 | 파일 구조·인덱스·접근 경로 |
문 048. 릴레이션에서 기본 키를 구성하는 속성은 널(Null) 값이나 중복 값을 가질 수 없다는 것을 의미하는 제약 조건은?
- ① 참조 무결성
- ② 보안 무결성
- ③ 개체 무결성
- ④ 정보 무결성
정답 및 해설 보기
정답 ③
기본 키가 NULL·중복을 가질 수 없다는 제약은 개체 무결성(Entity Integrity) 이다.
- ① 참조 무결성: 외래 키 값은 참조 테이블의 기본 키에 존재하는 값이어야 한다.
문 049. 병행 제어 기법의 종류가 아닌 것은?
- ① 로킹 기법
- ② 시분할 기법
- ③ 타임 스탬프 기법
- ④ 다중 버전 기법
정답 및 해설 보기
정답 ②
병행 제어 기법: 로킹(①)·타임 스탬프(③)·다중 버전(MVCC, ④)·낙관적 검증.
- ② 시분할(Time-sharing)은 CPU를 짧은 시간으로 나눠 쓰는 운영체제 스케줄링 기법으로 병행 제어와 무관하다.
문 050. 다음 R1과 R2의 테이블에서 아래의 실행 결과를 얻기 위한 SQL문은?
[R1] 테이블
| 학번 | 이름 | 학년 | 학과 | 주소 |
|---|---|---|---|---|
| 1000 | 홍길동 | 1 | 컴퓨터공학 | 서울 |
| 2000 | 김철수 | 1 | 전기공학 | 경기 |
| 3000 | 강남길 | 2 | 전자공학 | 경기 |
| 4000 | 오말자 | 2 | 컴퓨터공학 | 경기 |
| 5000 | 장미화 | 3 | 전자공학 | 서울 |
[R2] 테이블
| 학번 | 과목 번호 | 과목이름 | 학점 | 점수 |
|---|---|---|---|---|
| 1000 | C100 | 컴퓨터구조 | A | 91 |
| 2000 | C200 | 데이터베이스 | A+ | 99 |
| 3000 | C100 | 컴퓨터구조 | B+ | 89 |
| 3000 | C200 | 데이터베이스 | B | 85 |
| 4000 | C200 | 데이터베이스 | A | 93 |
| 4000 | C300 | 운영체제 | B+ | 88 |
| 5000 | C300 | 운영체제 | B | 82 |
[실행결과]
| 과목번호 | 과목이름 |
|---|---|
| C100 | 컴퓨터구조 |
| C200 | 데이터베이스 |
보기 ①
SELECT 과목번호, 과목이름 FROM RI, R2 WHERE
R1.학번 = R2.학번 AND R1.학과 = '전자공학' AND
R1.이름 = '강남길';
보기 ②
SELECT 과목번호, 과목이름 FROM RI, R2 WHERE
R1.학번 = R2.학번 OR R1.학과 = '전자공학' OR
R1.이름 = '홍길동';
보기 ③
SELECT 과목번호, 과목이름 FROM R1, R2 WHERE
R1.학번 R2.학번 AND R1.학과 = '컴퓨터공학' AND
R1.이름 '강남길';
보기 ④
SELECT 과목번호, 과목이름 FROM R1, R2 WHERE
R1.학번 = R2.학번 OR R1.학과 = '컴퓨터공학' OR
R1.이름 = '홍길동';
정답 및 해설 보기
정답 ①
실행결과는 C100(컴퓨터구조)·C200(데이터베이스) 두 과목이다. R2에서 이 두 과목을 함께 수강한 학생은 학번 3000이고, R1에서 3000은 이름 '강남길'·학과 '전자공학'이다.
- ①
R1.학번 = R2.학번 AND R1.학과 = '전자공학' AND R1.이름 = '강남길'→ 정확히 학번 3000의 수강 과목(C100·C200)을 반환해 실행결과와 일치한다. - ②·④는
OR조건이라 거의 모든 행이 조인되어 결과가 달라진다. ③은 학과가 '컴퓨터공학'이라 대상 학생이 다르다.
문 051. 다음 관계 대수 중 순수 관계 연산자가 아닌 것은?
- ① 차집합(Difference)
- ② 프로젝트(Project)
- ③ 조인(Join)
- ④ 디비전 (Division)
정답 및 해설 보기
정답 ①
순수 관계 연산자는 셀렉트(σ)·프로젝트(π)·조인(⋈)·디비전(÷) 이다.
- ① 차집합(Difference, −)은 일반 집합 연산자(합집합·교집합·차집합·카티션 프로덕트)에 속한다.
🔑 암기 — 순수 관계 연산자: 셀·프·조·디.
문 052. 관계형 데이터 모델의 릴레이션에 대한 설명으로 틀린 것은?
- ① 모든 속성값은 원자값을 갖는다.
- ② 한 릴레이션에 포함된 튜플은 모두 상이하다.
- ③ 한 릴레이션에 포함된 튜플 사이에는 순서가 없다.
- ④ 한 릴레이션을 구성하는 속성 사이에는 순서가 존재한다.
정답 및 해설 보기
정답 ④
릴레이션은 원자성(①)·튜플 유일성(②)·튜플 무순서성(③)을 가진다.
- ④ 속성(컬럼) 사이에도 순서가 없다. '순서가 존재한다'는 진술이 틀렸다.
문 053. 릴레이션 R의 차수가 4이고 카디널리티가 5이며, 릴레이션 S의 차수가 6이고 카디널리티가 7일 때, 두 개의 릴레이션을 카티션 프로덕트한 결과의 새로운 릴레이션의 차수와 카디널리티는 얼마인가?
- ① 24, 35
- ② 24, 12
- ③ 10, 35
- ④ 10, 12
정답 및 해설 보기
정답 ③
카티션 프로덕트(R × S)는 차수는 더하고, 카디널리티는 곱한다.
- 차수 = 4 + 6 = 10
- 카디널리티 = 5 × 7 = 35
🔑 암기 — 차수(Degree)=속성 수, 카디널리티(Cardinality)=튜플 수. 카티션은 차수 합·카디널리티 곱.
문 054. 속성(Attribute)에 대한 설명으로 틀린 것은?
- ① 속성은 개체의 특성을 기술한다.
- ② 속성은 데이터베이스를 구성하는 가장 작은 논리적 단위이다.
- ③ 속성은 파일 구조상 데이터 항목 또는 데이터 필드에 해당된다.
- ④ 속성의 수를 "cardinality"라고 한다.
정답 및 해설 보기
정답 ④
①·②·③은 속성(컬럼)의 올바른 설명이다.
- ④ 속성의 수는 차수(Degree) 다. 카디널리티(Cardinality)는 튜플(행)의 수다.
문 055. 다음 SQL문에서 ( ) 안에 들어갈 내용으로 옳은 것은?
UPDATE 인사급여 ( ) 호봉 = 15
WHERE 성명 = '홍길동';
- ① SET
- ② FROM
- ③ INTO
- ④ IN
정답 및 해설 보기
정답 ①
UPDATE 구문은 UPDATE 테이블 SET 컬럼=값 WHERE 조건 이므로 빈칸은 SET 이다.
문 056. 관계 데이터베이스 모델에서 차수(Degree)의 의미는?
- ① 튜플의 수
- ② 테이블의 수
- ③ 데이터베이스의 수
- ④ 애트리뷰트의 수
정답 및 해설 보기
정답 ④
차수(Degree)는 속성(애트리뷰트, 컬럼)의 수다.
- ① 튜플의 수는 카디널리티(Cardinality)다.
문 057. 개체-관계 모델(E-R)의 그래픽 표현으로 옳지 않은 것은?
- ① 개체 타입 - 사각형
- ② 속성 - 원형
- ③ 관계 타입 - 마름모
- ④ 연결 - 삼각형
정답 및 해설 보기
정답 ④
ERD 기호: 개체=사각형(①)·속성=타원/원형(②)·관계=마름모(③)·연결=선(Line).
- ④ 연결은 삼각형이 아니라 선으로 표현한다.
문 058. 트랜잭션의 실행이 실패하였음을 알리는 연산자로 트랜잭션이 수행한 결과를 원래의 상태로 원상 복귀 시키는 연산은?
- ① COMMIT 연산
- ② BACKUP 연산
- ③ LOG 연산
- ④ ROLLBACK 연산
정답 및 해설 보기
정답 ④
실패 시 변경을 모두 취소하고 트랜잭션 시작 이전 상태로 되돌리는 연산은 ROLLBACK 이다.
- ① COMMIT은 변경을 영구 저장한다.
🔑 암기 — 트랜잭션 ACID: 원자성·일관성·고립성·지속성.
문 059. 데이터 속성 간의 종속성에 대한 엄밀한 고려 없이 잘못 설계된 데이터베이스에서는 데이터 처리 연산 수행 시 각종 이상 현상이 발생할 수 있는데, 이러한 이상 현상이 아닌 것은?
- ① 검색 이상
- ② 삽입 이상
- ③ 삭제 이상
- ④ 갱신 이상
정답 및 해설 보기
정답 ①
이상 현상(Anomaly)은 삽입 이상·삭제 이상·갱신 이상 3가지다.
- ① '검색 이상'은 정규화 이론의 표준 이상 현상이 아니다.
문 060. 제3정규형(3NF)에서 BCNF(Boyce-Codd Normal Form)가 되기 위한 조건은?
- ① 결정자가 후보키가 아닌 함수 종속 제거
- ② 이행적 함수 종속 제거
- ③ 부분적 함수 종속 제거
- ④ 원자값이 아닌 도메인 분해
정답 및 해설 보기
정답 ①
3NF → BCNF는 모든 결정자가 후보 키가 되도록, 즉 결정자가 후보 키가 아닌 함수 종속을 제거한다.
- ② 이행 종속 제거: 2NF→3NF. ③ 부분 함수 종속 제거: 1NF→2NF. ④ 도메인 원자값 분해: →1NF.
🔑 암기 — 정규화 두부이결다조(도메인원자값·부분종속·이행종속·결정자후보키·다치종속·조인종속).
Part Ⅳ 프로그래밍 언어 활용 (문 061~080)
문 061. 다음 설명에 해당하는 방식은?
- 무선 랜에서 데이터 전송 시, 매체가 비어 있음을 확인한 뒤 충돌을 회피하기 위해 임의 시간을 기다린 후 데이터를 전송하는 방법이다.
- 네트워크에 데이터 전송이 없는 경우라도 동시 전송에 의한 충돌에 대비하여 확인 신호를 전송한다.
- ① STA
- ② Collision Domain
- ③ CSMA/CA
- ④ CSMA/CD
정답 및 해설 보기
정답 ③
'무선 랜'·'충돌 회피'가 키워드다. CSMA/CA(Collision Avoidance) 는 무선 랜에서 전송 전에 매체가 비었는지 확인하고 임의 시간 대기·확인 신호로 충돌을 사전에 회피한다.
- ④ CSMA/CD(Collision Detection)는 유선 랜에서 전송 중 충돌을 탐지·재전송한다.
| 구분 | CSMA/CD | CSMA/CA |
|---|---|---|
| 환경 | 유선(Ethernet) | 무선(Wi-Fi) |
| 전략 | 충돌 탐지 후 중단 | 충돌 사전 회피 |
문 062. 다음 중 가장 약한 결합도(Coupling)는?
- ① Common Coupling
- ② Content Coupling
- ③ External Coupling
- ④ Stamp Coupling
정답 및 해설 보기
정답 ④
결합도는 강한 순으로 내용 > 공통 > 외부 > 제어 > 스탬프 > 자료 다. 보기 중 가장 약한 것은 스탬프(Stamp) 결합도다.
- ② Content(내용) 결합도가 가장 강하다(최악).
🔑 암기 — 결합도(강→약) 내공외제스자.
문 063. 다음 C 언어 프로그램이 실행되었을 때의 결과는?
#include <stdio.h>
int main(int argc, char *argv[]) {
int a = 4;
int b = 7;
int C = a | b;
printf("%d", C);
return 0;
}
- ① 3
- ② 4
- ③ 7
- ④ 10
정답 및 해설 보기
정답 ③
| 는 비트 OR 연산이다. 4(0100) | 7(0111) = 0111 = 7.
이 코드의 출력은 7 이다.
문 064. 다음 파이썬(Python) 프로그램이 실행되었을 때의 결과는?
class FourCal:
def setdata(sel, fir, sec):
sel.fir = fir
sel.sec = sec
def add(sel):
result = sel.fir + sel.sec
return result
a = FourCal()
a.setdata(4, 2)
print(a.add())
- ① 0
- ② 2
- ③ 4
- ④ 6
정답 및 해설 보기
정답 ④
setdata(4, 2) 로 객체 a의 fir=4·sec=2가 설정되고, add()는 fir + sec = 4 + 2 = 6 을 반환한다.
이 코드의 출력은 6 이다. (첫 매개변수 이름은 sel이지만 관례상 self 역할을 그대로 한다.)
문 065. 교착상태의 해결 방법 중 은행원 알고리즘(Banker's Algorithm)이 해당되는 기법은?
- ① Detection
- ② Avoidance
- ③ Recovery
- ④ Prevention
정답 및 해설 보기
정답 ②
은행원 알고리즘은 자원 할당 전에 안전 상태(Safe State) 인지 검사해 교착을 회피(Avoidance) 한다.
| 기법 | 전략 |
|---|---|
| 예방(Prevention) | 교착 4조건 중 하나를 제거 |
| 회피(Avoidance) | 안전 상태 검사(은행원 알고리즘) |
| 탐지(Detection) | 발생 후 주기적 검사 |
| 회복(Recovery) | 발생 후 프로세스 강제 종료 등 |
문 066. CIDR(Classless Inter-Domain Routing) 표기로 203.241.132.82/27과 같이 사용되었다면, 해당 주소의 서브넷 마스크(Subnet Mask)는?
- ① 255.255.255.0
- ② 255.255.255.224
- ③ 255.255.255.240
- ④ 255.255.255.248
정답 및 해설 보기
정답 ②
/27 은 왼쪽부터 1이 27개(0이 5개)라는 뜻이다.
11111111.11111111.11111111.11100000 → 마지막 옥텟 11100000 = 128+64+32 = 224.
따라서 서브넷 마스크는 255.255.255.224 다.
문 067. 다음 JAVA 프로그램이 실행되었을 때의 결과는?
public class Operator {
public static void main(String[] args) {
int x=5, y=0, z=0;
y = x++;
z = --x;
System.out.print(x + "," + y + "," + z);
}
}
- ① 5, 5, 5
- ② 5, 6, 5
- ③ 6, 5, 5
- ④ 5, 6, 4
정답 및 해설 보기
정답 ①
y = x++;: 후위 증가 — 현재 값 5를y에 대입 후x는 6.z = --x;: 전위 감소 —x를 5로 줄인 뒤 그 5를z에 대입.- 최종 x=5, y=5, z=5.
이 코드의 출력은 5,5,5 다.
문 068. 프로세스 적재 정책과 관련한 설명으로 틀린 것은?
- ① 반복, 스택, 부프로그램은 시간 지역성(Temporal Locality)과 관련이 있다.
- ② 공간 지역성(Spatial Locality)은 프로세스가 어떤 페이지를 참조했다면 이후 가상 주소 공간상 그 페이지와 인접한 페이지들을 참조할 가능성이 높음을 의미한다.
- ③ 일반적으로 페이지 교환에 보내는 시간보다 프로세스 수행에 보내는 시간이 더 크면 스레싱(Thrashing)이 발생한다.
- ④ 스레싱(Thrashing) 현상을 방지하기 위해서는 각 프로세스가 필요로 하는 프레임을 제공할 수 있어야 한다.
정답 및 해설 보기
정답 ③
①·②는 지역성, ④는 스레싱 방지책으로 옳다.
- ③ 스레싱은 페이지 교환 시간 > 프로세스 수행 시간 일 때 발생한다. ③은 부등호를 반대로 서술해 틀렸다.
문 069. 프레임워크(Framework)에 대한 설명으로 옳은 것은?
- ① 소프트웨어 구성에 필요한 기본 구조를 제공함으로써 재사용이 가능하게 해준다.
- ② 소프트웨어 개발 시 구조가 잡혀 있기 때문에 확장이 불가능하다.
- ③ 소프트웨어 아키텍처(Architecture)와 동일한 개념이다.
- ④ 모듈화(Modularity)가 불가능하다.
정답 및 해설 보기
정답 ①
프레임워크는 기본 구조(뼈대)를 제공해 재사용을 가능하게 하는 반제품 소프트웨어다.
- ② 정해진 규칙 안에서 확장 가능하다. ③ 아키텍처(추상 개념)와 동일하지 않다. ④ 모듈화를 지원한다.
💡 제어의 역전(IoC): 프레임워크가 내 코드를 호출(라이브러리는 반대).
문 070. 다음 JAVA 프로그램이 실행되었을 때의 결과는?
public class arrayl {
public static void main(String[] args) {
int cnt = 0;
do {
cnt++;
} while (cnt < 0);
if(cnt==1)
cnt++;
else
cnt = cnt + 3;
System.out.printf("%d",cnt);
}
}
- ① 2
- ② 3
- ③ 4
- ④ 5
정답 및 해설 보기
정답 ①
do-while 은 본문을 최소 1회 실행한다.
do { cnt++; }→ cnt=1,while(1 < 0)거짓이라 종료.if(cnt==1)참 →cnt++→ cnt=2.
이 코드의 출력은 2 다.
문 071. 리눅스 Bash 쉘(Shell)에서 export와 관련한 설명으로 틀린 것은?
- ① 변수를 출력하고자 할 때는 export를 사용해야 한다.
- ② export가 매개 변수 없이 쓰일 경우 현재 설정된 환경변수들이 출력된다.
- ③ 사용자가 생성하는 변수는 export 명령어 표시하지 않는 한 현재 쉘에 국한된다.
- ④ 변수를 export 시키면 전역(Global) 변수처럼 되어 끝까지 기억된다.
정답 및 해설 보기
정답 ①
export 는 쉘 변수를 환경 변수로 만들어 자식 프로세스까지 상속시키는 명령이다(②·③·④는 옳다).
- ① 변수 값을 출력할 때는
echo $변수명을 쓴다. export는 출력용 명령이 아니다.
문 072. 다음 C 언어 프로그램이 실행되었을 때의 결과는?
#include <stdio.h>
int main(int argc, char *argv[]) {
char a;
a = 'A' + 1;
printf("%d", a);
return 0;
}
- ① 1
- ② 11
- ③ 66
- ④ 98
정답 및 해설 보기
정답 ③
문자 'A' 의 아스키코드는 65다. a = 'A' + 1 = 66. %d 는 정수로 출력하므로 66 이 출력된다(%c 였다면 'B').
문 073. 다음 C 언어 프로그램이 실행되었을 때의 결과는?
#include <stdio.h>
int main(int argc, char *argv[]) {
int a[2][2] = {{11, 22},{44, 55}};
int i, sum = 0;
int *p;
p=a[0];
for(i=1; i<4; i++)
sum += *(p + i);
printf("%d", sum);
return 0;
}
- ① 55
- ② 77
- ③ 121
- ④ 132
정답 및 해설 보기
정답 ③
2차원 배열은 메모리에 11, 22, 44, 55 로 연속 저장되고 p=a[0] 은 11을 가리킨다.
- i=1:
*(p+1)=22→ sum=22 - i=2:
*(p+2)=44→ sum=66 - i=3:
*(p+3)=55→ sum=121
이 코드의 출력은 121 이다.
문 074. 페이징 기법에서 페이지 크기가 작아질수록 발생하는 현상이 아닌 것은?
- ① 기억장소 이용 효율이 증가한다.
- ② 입·출력 시간이 늘어난다.
- ③ 내부 단편화가 감소한다.
- ④ 페이지 맵 테이블의 크기가 감소한다.
정답 및 해설 보기
정답 ④
페이지 크기가 작아지면 내부 단편화 감소(③)·기억장소 효율 증가(①)·I/O 횟수 증가(②)가 나타난다.
- ④ 페이지 수가 많아지므로 페이지 맵 테이블 크기는 증가한다. '감소'는 틀렸다.
문 075. 다음 중 가장 강한 응집도(Cohesion)는?
- ① Sequential Cohesion
- ② Procedural Cohesion
- ③ Logical Cohesion
- ④ Coincidental Cohesion
정답 및 해설 보기
정답 ①
응집도는 강한 순으로 기능 > 순차 > 통신 > 절차 > 시간 > 논리 > 우연 이다. 보기 중 가장 강한 것은 순차적(Sequential) 응집도다.
- ④ 우연적(Coincidental)이 가장 약하다(최악).
🔑 암기 — 응집도(강→약) 기순통절시논우 (=우논시절통순기 역순).
문 076. TCP 프로토콜과 관련한 설명으로 틀린 것은?
- ① 인접한 노드 사이의 프레임 전송 및 오류를 제어한다.
- ② 흐름 제어(Flow Control)의 기능을 수행한다.
- ③ 전이중(Full Duplex) 방식의 양방향 가상회선을 제공한다.
- ④ 전송 데이터와 응답 데이터를 함께 전송할 수 있다.
정답 및 해설 보기
정답 ①
TCP는 전송 계층(4계층) 프로토콜로 흐름 제어(②)·전이중(③)·피기배킹(④)을 수행한다.
- ① '인접 노드 간 프레임 전송 및 오류 제어'는 데이터 링크 계층(2계층) 의 역할이다. TCP의 데이터 단위는 세그먼트, 링크 계층은 프레임이다.
문 077. C 언어에서 연산자 우선 순위가 높은 것에서 낮은 것으로 바르게 나열된 것은?
㉠ () · ㉡ == · ㉢ < · ㉣ << · ㉤ ∥ · ㉥ /
- ① ㉠, ㉥, ㉣, ㉢, ㉡, ㉤
- ② ㉠, ㉣, ㉥, ㉢, ㉡, ㉤
- ③ ㉠, ㉣, ㉥, ㉢, ㉤, ㉡
- ④ ㉠, ㉥, ㉣, ㉤, ㉡, ㉢
정답 및 해설 보기
정답 ①
C 연산자 우선순위(높음→낮음): 괄호 () > 산술 / > 시프트 << > 관계 < > 등가 == > 논리 ∥(||).
기호로 나열하면 ㉠ → ㉥ → ㉣ → ㉢ → ㉡ → ㉤ 이므로 ①이다.
문 078. C 언어 라이브러리 중 stdlib.h에 대한 설명으로 옳은 것은?
- ① 문자열을 수치 데이터로 바꾸는 문자 변환함수와 수치를 문자열로 바꿔주는 변환함수 등이 있다.
- ② 문자열 처리 함수로 strlen( )이 포함되어 있다.
- ③ 표준 입출력 라이브러리이다.
- ④ 삼각 함수, 제곱근, 지수 등 수학적인 함수를 내장 하고 있다.
정답 및 해설 보기
정답 ①
stdlib.h 는 문자열↔숫자 변환(atoi·atof), 동적 메모리(malloc·free), 난수(rand) 등 범용 함수를 담는다.
- ②
strlen()은string.h. ③ 표준 입출력은stdio.h. ④ 수학 함수는math.h.
문 079. 자바스크립트(JavaScript)와 관련한 설명으로 틀린 것은?
- ① 프로토타입(Prototype)의 개념이 존재한다.
- ② 클래스 기반으로 객체 상속을 지원한다.
- ③ Prototype Link와 Prototype Object를 활용할 수 있다.
- ④ 객체지향 언어이다.
정답 및 해설 보기
정답 ②
자바스크립트는 객체지향 언어(④)이지만 클래스가 아니라 프로토타입 기반(Prototype-based) 으로 상속을 구현한다(①·③).
- ② '클래스 기반으로 상속을 지원한다'가 틀렸다. ES6의
class는 문법적 설탕일 뿐 내부는 프로토타입 기반이다.
문 080. OSI 7계층 중 네트워크 계층에 대한 설명으로 틀린 것은?
- ① 패킷을 발신지로부터 최종 목적지까지 전달하는 책임을 진다.
- ② 한 노드로부터 다른 노드로 프레임을 전송하는 책임을 진다.
- ③ 패킷에 발신지와 목적지의 논리 주소를 추가한다.
- ④ 라우터 또는 교환기는 패킷 전달을 위해 경로를 지정하거나 교환 기능을 제공한다.
정답 및 해설 보기
정답 ②
네트워크 계층(3계층)은 경로 설정(라우팅)·논리 주소(IP) 부여로 패킷을 최종 목적지까지 전달한다(①·③·④).
- ② '한 노드에서 다른 노드로 프레임 전송'은 데이터 링크 계층(2계층) 의 역할이다. 네트워크 계층의 데이터 단위는 패킷이다.
Part Ⅴ 정보시스템 구축관리 (문 081~100)
문 081. 다음 내용이 설명하는 것은?
- 네트워크상에 광채널 스위치의 이점인 고속 전송과 장거리 연결 및 멀티 프로토콜 기능을 활용
- 각기 다른 운영체제를 가진 여러 기종들이 네트워크 상에서 동일 저장장치의 데이터를 공유하게 함으로써, 여러 개의 저장장치나 백업 장비를 단일화시킨 시스템
- ① SAN
- ② MBR
- ③ NAC
- ④ NIC
정답 및 해설 보기
정답 ①
여러 저장장치를 스토리지 전용 네트워크로 묶어 여러 기종이 공유하고 백업 장비를 단일화한 시스템은 SAN(Storage Area Network) 이다.
- ② MBR: 마스터 부트 레코드. ③ NAC: 네트워크 접근 제어. ④ NIC: 랜카드.
💡 스토리지 연결: DAS(직접 연결)·NAS(LAN, 파일 단위)·SAN(전용망, 블록 단위).
문 082. SSH(Secure Shell)에 대한 설명으로 틀린 것은?
- ① SSH의 기본 네트워크 포트는 220번을 사용한다.
- ② 전송되는 데이터는 암호화된다.
- ③ 키를 통한 인증은 클라이언트의 공개키를 서버에 등록해야 한다.
- ④ 서로 연결되어 있는 컴퓨터 간 원격 명령 실행이나 셀 서비스 등을 수행한다.
정답 및 해설 보기
정답 ①
SSH의 기본 포트는 22번 이다. 220번이 아니다. ②·③·④는 옳다.
🔑 암기 — 주요 포트: SSH 22 · Telnet 23 · HTTP 80 · HTTPS 443 · FTP 20/21.
문 083. CBD(Component Based Development) SW 개발 표준 산출물 중 분석 단계에 해당하는 것은?
- ① 클래스 설계서
- ② 통합 시험 결과서
- ③ 프로그램 코드
- ④ 사용자 요구사항 정의서
정답 및 해설 보기
정답 ④
분석 단계는 '무엇을 만들까'를 정의하므로 사용자 요구사항 정의서가 산출물이다.
- ① 클래스 설계서: 설계 단계. ③ 프로그램 코드: 구현 단계. ② 통합 시험 결과서: 테스트 단계.
문 084. 다음 내용이 설명하는 접근 제어 모델은?
- 군대의 보안 레벨처럼 정보의 기밀성에 따라 상하 관계가 구분된 정보를 보호하기 위해 사용
- 자신의 권한보다 낮은 보안 레벨 권한을 가진 경우에는 높은 보안 레벨의 문서를 읽을 수 없고 자신의 권한보다 낮은 수준의 문서만 읽을 수 있다.
- 자신의 권한보다 높은 보안 레벨의 문서에는 쓰기가 가능하지만 보안 레벨이 낮은 문서의 쓰기 권한은 제한한다.
- ① Clark-Wilson Integrity Model
- ② PDCA Model
- ③ Bell-Lapadula Model
- ④ Chinese Wall Model
정답 및 해설 보기
정답 ③
'군대 보안 레벨'·'기밀성'·'상위 읽기 금지(No Read Up)'·'하위 쓰기 금지(No Write Down)'는 Bell-Lapadula 모델(기밀성 보장)의 규칙이다.
| 모델 | 목표 | 규칙 |
|---|---|---|
| Bell-Lapadula | 기밀성 | No Read Up · No Write Down |
| Biba | 무결성 | No Read Down · No Write Up |
문 085. 하둡(Hadoop)과 관계형 데이터베이스 간에 데이터를 전송할 수 있도록 설계된 도구는?
- ① Apnic
- ② Topology
- ③ Sqoop
- ④ SDB
정답 및 해설 보기
정답 ③
Sqoop(SQL-to-Hadoop)은 관계형 DB(RDBMS)와 하둡(HDFS) 간에 데이터를 대량 Import/Export 하는 도구다.
- ① Apnic: 아·태 IP 주소 관리 기관. ② Topology: 네트워크 연결 구조.
문 086. 라우팅 프로토콜인 OSPF(Open Shortest Path First)에 대한 설명으로 옳지 않은 것은?
- ① 네트워크 변화에 신속하게 대처할 수 있다.
- ② 거리 벡터 라우팅 프로토콜이라고 한다.
- ③ 멀티캐스팅을 지원한다.
- ④ 최단 경로 탐색에 Dijkstra 알고리즘을 사용한다.
정답 및 해설 보기
정답 ②
OSPF는 링크 상태(Link-State) 라우팅 프로토콜로, 변화에 신속 대처(①)·멀티캐스팅(③)·Dijkstra 최단 경로(④)를 지원한다.
- ② '거리 벡터(Distance Vector)'는 RIP의 방식이다. OSPF는 링크 상태다.
문 087. 소프트웨어 비용 추정 모형(Estimation Models)이 아닌 것은?
- ① COCOMO
- ② Putnam
- ③ Function-Point
- ④ PERT
정답 및 해설 보기
정답 ④
비용 추정 모형: COCOMO(①)·Putnam(②)·기능 점수(FP, ③).
- ④ PERT는 비용 산정이 아니라 프로젝트 일정 관리 기법이다(낙관·기대·비관치로 완료 시점 예측).
문 088. 코드의 기입 과정에서 원래 '12536'으로 기입되어야 하는데 '12936'으로 표기되었을 경우, 어떤 코드 오류에 해당하는가?
- ① Addition Error
- ② Omission Error
- ③ Sequence Error
- ④ Transcription Error
정답 및 해설 보기
정답 ④
한 글자('5'→'9')를 잘못 옮겨 쓴 오류는 Transcription Error(필사 오류) 다.
- ② Omission(생략): 문자 빠뜨림. ① Addition(추가): 문자 더 씀. 인접 두 문자 순서 바뀜은 Transposition(전위) 오류.
문 089. ISO 12207 표준의 기본 생명주기의 주요 프로세스에 해당하지 않는 것은?
- ① 획득 프로세스
- ② 개발 프로세스
- ③ 성능평가 프로세스
- ④ 유지보수 프로세스
정답 및 해설 보기
정답 ③
ISO 12207 기본 생명주기 프로세스는 획득·공급·개발·운영·유지보수 5가지다.
- ③ '성능평가'는 기본 생명주기의 주요 프로세스가 아니다.
문 090. 소프트웨어 비용 산정 기법 중 개발 유형으로 Organic, Semi-detached, Embedded로 구분되는 것은?
- ① PUTNAM
- ② COCOMO
- ③ FP
- ④ SLIM
정답 및 해설 보기
정답 ②
개발 유형을 Organic(조직형)·Semi-detached(반분리형)·Embedded(내장형) 로 나누는 모델은 COCOMO 다.
문 091. SPICE 모델의 프로세스 수행 능력 수준의 단계별 설명이 틀린 것은?
- ① 수준 7 - 미완성 단계
- ② 수준 5 - 최적화 단계
- ③ 수준 4 - 예측 단계
- ④ 수준 3 - 확립 단계
정답 및 해설 보기
정답 ①
SPICE(ISO 15504) 수행 능력 수준은 0~5 총 6단계다: 0 불완전·1 수행·2 관리·3 확립·4 예측·5 최적화.
- ① '수준 7'은 존재하지 않는다(미완성은 수준 0). ②·③·④는 옳다.
문 092. PC, TV, 휴대폰에서 원하는 콘텐츠를 끊김 없이 자유롭게 이용할 수 있는 서비스는?
- ① Memristor
- ② MEMS
- ③ SNMP
- ④ N-Screen
정답 및 해설 보기
정답 ④
여러 기기(N개 Screen)에서 하나의 콘텐츠를 끊김 없이 이어 쓰는 서비스는 N-Screen 이다.
- ① Memristor: 차세대 메모리 소자. ② MEMS: 초소형 정밀기계. ③ SNMP: 네트워크 관리 프로토콜.
문 093. 해시(Hash) 기법에 대한 설명으로 틀린 것은?
- ① 임의의 길이의 입력 데이터를 받아 고정된 길이의 해시 값으로 변환한다.
- ② 주로 공개키 암호화 방식에서 키 생성을 위해 사용한다.
- ③ 대표적인 해시 알고리즘으로 HAVAL, SHA-1 등이 있다.
- ④ 해시 함수는 일방향 함수(One-way function)이다.
정답 및 해설 보기
정답 ②
해시는 임의 길이 입력을 고정 길이 값으로 변환(①)하는 일방향 함수(④)로, 무결성 검증·전자서명에 쓰인다.
- ② 공개키의 키 생성은 별도 수학 알고리즘(소인수분해 등)으로 이뤄진다. 해시는 키 생성에 쓰이지 않는다.
문 094. IPSec(IP Security)에 대한 설명으로 틀린 것은?
- ① 암호화 수행 시 일방향 암호화만 지원한다.
- ② ESP는 발신지 인증, 데이터 무결성, 기밀성 모두를 보장한다.
- ③ 운영 모드는 Tunnel 모드와 Transport 모드로 분류된다.
- ④ AH는 발신지 호스트를 인증하고, IP 패킷의 무결성을 보장한다.
정답 및 해설 보기
정답 ①
암호화는 복호화가 필요한 양방향 이다. '일방향'은 해시 함수의 특징이다.
- ② ESP: 인증·무결성·기밀성. ④ AH: 인증·무결성(기밀성 제외). ③ Tunnel/Transport 모드로 분류된다.
문 095. 메모리상에서 프로그램의 복귀 주소와 변수 사이에 특정 값을 저장해 두었다가 그 값이 변경되었을 경우 오버플로우 상태로 가정하여 프로그램 실행을 중단하는 기술은?
- ① Stack Guard
- ② Bridge
- ③ ASLR
- ④ FIN
정답 및 해설 보기
정답 ①
복귀 주소 앞에 카나리(Canary) 값을 두고 변조 여부를 검사해 스택 버퍼 오버플로우를 탐지·차단하는 기술은 Stack Guard 다.
- ③ ASLR: 메모리 주소를 실행마다 랜덤화하는 별개의 방어 기법.
문 096. 침입차단 시스템(방화벽) 중 다음과 같은 형태의 구축 유형은?

- ① Block Host
- ② Tree Host
- ③ Screened Subnet
- ④ Ring Homed
정답 및 해설 보기
정답 ③
외부·내부 네트워크 사이에 완충 구간(DMZ)을 두고 두 개의 스크리닝 라우터 사이에 Bastion Host 를 배치한 구조는 Screened Subnet(스크린드 서브넷) 이다. 가장 강력한 보안을 제공하나 구현이 복잡하고 비용이 높다.
문 097. Secure OS의 보안 기능으로 거리가 먼 것은?
- ① 식별 및 인증
- ② 임의적 접근 통제
- ③ 고가용성 지원
- ④ 강제적 접근 통제
정답 및 해설 보기
정답 ③
Secure OS의 보안 기능: 식별·인증(①)·임의적 접근 통제(DAC, ②)·강제적 접근 통제(MAC, ④)·감사 기록 등.
- ③ 고가용성(High Availability)은 무중단 서비스 능력으로, 안정성·가용성에 관한 것이지 보안 기능이 아니다.
문 098. 서버에 열린 포트 정보를 스캐닝해서 보안 취약점을 찾는데 사용하는 도구는?
- ① type
- ② mkdir
- ③ ftp
- ④ nmap
정답 및 해설 보기
정답 ④
열린 포트를 스캐닝해 취약점을 찾는 대표적 네트워크 스캐너는 nmap(Network Mapper) 이다.
- ① type: 파일 내용 출력. ② mkdir: 디렉터리 생성. ③ ftp: 파일 전송 프로토콜.
문 099. 서로 다른 네트워크 대역에 있는 호스트들 상호 간에 통신할 수 있도록 해주는 네트워크 장비는?
- ① L2 스위치
- ② HIPO
- ③ 라우터
- ④ RAD
정답 및 해설 보기
정답 ③
서로 다른 네트워크 대역을 연결하고 최적 경로를 찾아주는 장비는 라우터(Router) 다.
- ① L2 스위치는 같은 대역 내 MAC 주소 기반 연결. ② HIPO·④ RAD는 소프트웨어 개발 기법으로 네트워크 장비가 아니다.
문 100. 암호화 키와 복호화 키가 동일한 암호화 알고리즘은?
- ① RSA
- ② AES
- ③ DSA
- ④ ECC
정답 및 해설 보기
정답 ②
암호화 키 = 복호화 키인 대칭키 알고리즘을 찾으면 된다. AES(Advanced Encryption Standard) 가 대표적인 대칭키 알고리즘이다.
- ① RSA·③ DSA·④ ECC는 모두 비대칭키(공개키) 알고리즘이다.
🔑 암기 — 대칭키: AES·DES·SEED·ARIA / 비대칭키: RSA·DSA·ECC·ElGamal.
이 회차 한 장 요약
| 과목 | 빈출·핵심 토픽 | 다시 볼 문항 |
|---|---|---|
| Ⅰ 소프트웨어 설계 | 시스템 5요소·유스케이스/액터·요구사항 4단계(도분명확)·GoF 분류(생성/구조/행위)·UML 관계(실체화)·럼바우(객·동·기)·아키텍처 스타일 | 001·003·006·013·015·019 |
| Ⅱ 소프트웨어 개발 | 정렬 시간복잡도(힙/병합 O(nlog₂n))·테스트 원칙(결함 집중)·화이트/블랙박스·형상관리 vs 빌드·분산 저장소(Git)·후위 표기·EAI | 021·025·027·031·033·034 |
| Ⅲ 데이터베이스 구축 | SQL 분류(DDL/DML/DCL)·INTERSECT·설계 3단계·무결성 3종·정규화(두부이결다조)·관계대수(순수/일반)·차수/카디널리티·ACID | 043·046·048·051·053·060 |
| Ⅳ 프로그래밍 언어 활용 | CSMA/CA·결합도(내공외제스자)/응집도(우논시절통순기)·비트/포인터 연산·CIDR·교착상태(은행원=회피)·지역성/스레싱·TCP/OSI 계층 | 062·063·066·073·075·080 |
| Ⅴ 정보시스템 구축관리 | SAN·SSH(22)·접근제어(벨-라파듈라)·OSPF(링크상태)·COCOMO/SPICE(0~5)·해시·IPSec(AH/ESP)·Stack Guard·방화벽(스크린드 서브넷)·대칭키(AES) | 081·084·086·091·094·096·100 |
🎯 빈출 — 매 회차 단골: 결합도/응집도, 정규화, ACID, SQL 분류, GoF, 접근제어 모델(벨-라파듈라/비바), 대칭/비대칭키, OSI 계층.
⚠️ 함정 — 코드 추적(063·064·067·070·072·073), 계산(053·066), 보기 반대 진술(036 결합도 최대화·074 페이지 맵 테이블·091 수준 7), 포트/수치(082 SSH 22·076 TCP), 보기 순서 주의(098·100).
🔑 핵심 두문자 — 요구사항 도분명확 · 정규화 두부이결다조 · 응집도 우논시절통순기 · 결합도 내공외제스자 · 트랜잭션 ACID.
합격까지
정보처리기사, 약점 과목이 보이나요?
초개인화 학습앱 Klue로 틀린 유형을 집중 공략하고, 에듀윌 온라인강의로 개념까지 정리하세요.
