정보처리기사 필기 — 기출 4회 풀이
목차 106
2020~2025 최신 기출을 재구성한 종합 세트. 100문항·5과목 × 20문항. 최근 3개년(2023~2025) 문항 비중이 높아 최신 출제 경향 점검에 적합하다. 출처: 기출 재구성 4회
Part Ⅰ 소프트웨어 설계 (문 001~020)
문 001. 객체지향 설계 원칙 중, 서브타입(상속받은 하위 클래스)은 어디에서나 자신의 기반타입(상위클래스)으로 교체할 수 있어야 함을 의미하는 원칙은?
- ① ISP(Interface Segregation Principle)
- ② DIP(Dependency Inversion Principle)
- ③ LSP(Liskov Substitution Principle)
- ④ SRP(Single Responsibility Principle)
정답 및 해설 보기
정답 ③
서브타입이 언제나 기반타입 자리를 깨뜨리지 않고 대체할 수 있어야 한다는 원칙이 LSP(리스코프 치환 원칙)다. 자식이 부모가 쓰이는 모든 곳을 그대로 대신할 수 있어야 한다.
| 원칙 | 뜻 |
|---|---|
| SRP | 단일 책임 |
| OCP | 개방·폐쇄 |
| LSP | 리스코프 치환(자식↔부모 교체) |
| ISP | 인터페이스 분리 |
| DIP | 의존 역전 |
🔑 암기 — SOLID의 L = Liskov = 치환.
문 002. CASE(Computer Aided Software Engineering)에 대한 설명으로 틀린 것은?
- ① 소프트웨어 모듈의 재사용성이 향상된다.
- ② 자동화된 기법을 통해 소프트웨어 품질이 향상된다.
- ③ 소프트웨어 사용자들에게 사용 방법을 신속히 숙지시키기 위해 사용된다.
- ④ 소프트웨어 유지보수를 간편하게 수행할 수 있다.
정답 및 해설 보기
정답 ③
CASE는 소프트웨어 개발을 자동화하는 도구로 재사용성·품질·유지보수성을 높인다. ③ '사용자에게 사용 방법을 숙지시키는' 교육 도구가 아니다.
🔑 암기 — CASE = 개발 자동화(사용자 교육 ✗).
문 003. 코드 설계에서 코드화 대상 항목의 성질, 즉 길이, 넓이, 부피, 지름, 높이 등의 물리적 수치를 그대로 코드에 적용시키는 방식의 코드는?
- ① 연상 코드
- ② 블록 코드
- ③ 순차 코드
- ④ 표의 숫자 코드
정답 및 해설 보기
정답 ④
길이·넓이·부피 같은 물리적 수치를 그대로 코드로 쓰는 방식이 표의 숫자 코드(Significant Digit Code)다.
- ① 연상 코드: 약어·이름 · ② 블록 코드: 구간 분할 · ③ 순차 코드: 일련번호.
문 004. 다음 중 상태 다이어그램에서 객체 전이의 요인이 되는 요소는?
- ① event
- ② state
- ③ message
- ④ transition
정답 및 해설 보기
정답 ①
상태 다이어그램에서 객체의 상태 전이(transition)를 일으키는 요인은 이벤트(event)다. state는 상태 자체, transition은 전이 결과, message는 객체 간 통신이다.
문 005. 트랜잭션이 올바르게 처리되고 있는지 데이터를 감시하고 제어하는 미들웨어는?
- ① RPC
- ② ORB
- ③ TP monitor
- ④ HUB
정답 및 해설 보기
정답 ③
트랜잭션이 제대로 처리되는지 감시·제어하는 미들웨어는 TP monitor(Transaction Processing monitor)다. RPC=원격 프로시저 호출, ORB=객체 요청 브로커, HUB=네트워크 장비.
문 006. 클래스(Class)에 대한 다음 설명에서 괄호(㉠, ㉡)에 들어갈 알맞은 용어는?
클래스는 각각의 객체들이 갖는 ( ㉠ )과 ( ㉡ )을 표현함. ( ㉠ ): 클래스의 상태나 정보를 표현함. ( ㉡ ): 클래스가 수행할 수 있는 동작으로, 함수(메소드, Method)라고도 함.
- ① ㉠-제약조건, ㉡-속성
- ② ㉠-속성, ㉡-오퍼레이션
- ③ ㉠-오퍼레이션, ㉡-제약조건
- ④ ㉠-속성, ㉡-관계
정답 및 해설 보기
정답 ②
클래스는 객체의 속성(㉠: 상태·정보)과 오퍼레이션(㉡: 동작=메소드)으로 표현된다. 제약조건·관계는 클래스 사이의 요소다.
🔑 암기 — 클래스 = 속성 + 오퍼레이션.
문 007. 소프트웨어 설계 시 구축된 플랫폼의 성능 특성 분석에 사용되는 측정 항목이 아닌 것은?
- ① 응답 시간(Response Time)
- ② 서버 튜닝(Server Tuning)
- ③ 가용성(Availability)
- ④ 사용률(Utilization)
정답 및 해설 보기
정답 ②
플랫폼 성능 측정 항목은 응답 시간·처리량·가용성·사용률이다. ② 서버 튜닝은 성능을 개선하는 활동이지 측정 항목이 아니다.
⚠️ 함정 — 측정 ≠ 개선(튜닝).
문 008. 한 모듈 내의 각 구성 요소들이 공통의 목적을 달성하기 위하여 서로 얼마나 관련이 있는지의 기능적 연관의 정도를 나타내는 것은?
- ① Cohesion
- ② Coupling
- ③ Structure
- ④ Unity
정답 및 해설 보기
정답 ①
모듈 내부 구성 요소들이 공통 목적을 위해 얼마나 관련됐는지가 응집도(Cohesion)다. 결합도(Coupling)는 모듈 사이의 의존도다.
⚠️ 함정 — 내부 연관=응집도 / 모듈 간 의존=결합도.
문 009. 소프트웨어 설계 시 제일 상위에 있는 main user function에서 시작하여 기능을 하위 기능들로 분할해 가면서 설계하는 방식은?
- ① 객체 지향 설계
- ② 데이터 흐름 설계
- ③ 상향식 설계
- ④ 하향식 설계
정답 및 해설 보기
정답 ④
최상위 main user function에서 시작해 하위 기능으로 분할해 가는 방식이 하향식(Top-down) 설계다.
| 방식 | 흐름 |
|---|---|
| 하향식 | 상위 → 하위 분할 |
| 상향식 | 하위 모듈부터 조립 |
🔑 암기 — main에서 출발 = 하향식.
문 010. UML에서 활용되는 다이어그램 중, 시스템의 동작을 표현하는 행위(Behavioral) 다이어그램에 해당하지 않는 것은?
- ① 유스케이스 다이어그램(Use Case Diagram)
- ② 시퀀스 다이어그램(Sequence Diagram)
- ③ 활동 다이어그램(Activity Diagram)
- ④ 배치 다이어그램(Deployment Diagram)
정답 및 해설 보기
정답 ④
배치(Deployment) 다이어그램은 물리 노드 배치를 나타내는 구조 다이어그램이다. 유스케이스·시퀀스·활동은 모두 행위 다이어그램이다.
⚠️ 함정 — Deployment는 구조 다이어그램(행위 ✗).
문 011. 소프트웨어 개발 방법 중 요구사항 분석(Requirements Analysis)과 거리가 먼 것은?
- ① 비용과 일정에 대한 제약 설정
- ② 타당성 조사
- ③ 요구사항 정의 문서화
- ④ 설계 명세서 작성
정답 및 해설 보기
정답 ④
설계 명세서 작성은 설계 단계의 산출물이다. 요구사항 분석 단계는 비용·일정 제약 설정, 타당성 조사, 요구사항 문서화를 수행한다.
문 012. 송수신 데이터의 처리 방식 중 대량의 데이터를 처리할 때 사용하는 방식은?
- ① 실시간 방식
- ② 분산 처리 방식
- ③ 배치 방식
- ④ 지연 처리 방식
정답 및 해설 보기
정답 ③
대량 데이터를 모아 한꺼번에 일괄 처리하는 방식이 배치(Batch)다. 실시간=즉시 처리, 분산=여러 시스템 분담.
문 013. 다음 내용이 설명하는 UI 설계 도구는?
- 디자인, 사용 방법 설명, 평가 등을 위해 실제 화면과 유사하게 만든 정적인 형태의 모형
- 시각적으로만 구성 요소를 배치하는 것으로 일반적으로 실제로 구현되지는 않음
- ① 스토리보드(Storyboard)
- ② 목업(Mockup)
- ③ 프로토타입(Prototype)
- ④ 유스케이스(Usecase)
정답 및 해설 보기
정답 ②
실제 화면과 유사하지만 동작하지 않는 정적 모형이 목업(Mockup)이다. 프로토타입은 실제 동작하는 모형, 스토리보드는 화면+설명+흐름이다.
🔑 암기 — 목업=정적 / 프로토타입=동적.
문 014. 웹 애플리케이션 서버(WAS; Web Application Server)에 대한 설명으로 틀린 것은?
- ① 정적인 콘텐츠를 처리하기 위해 사용되는 미들웨어이다.
- ② 클라이언트/서버 환경보다는 웹 환경을 구현하기 위한 미들웨어이다.
- ③ 미션-크리티컬한 기업 업무도 JAVA, EJB 컴포넌트 기반으로 구현이 가능하다.
- ④ 대표적인 WAS의 종류에는 오라클의 WebLogic, IBM의 WebSphere 등이 있다.
정답 및 해설 보기
정답 ①
WAS는 JSP·Servlet·EJB 같은 동적 콘텐츠를 처리하는 미들웨어다. ① '정적 콘텐츠 처리'는 웹 서버의 역할이라 틀렸다.
⚠️ 함정 — WAS=동적 / 웹 서버=정적.
문 015. 결합도(Coupling)에 대한 설명으로 틀린 것은?
- ① 데이터 결합도(Data Coupling)는 두 모듈이 매개 변수로 자료를 전달할 때 자료 구조 형태로 전달되어 이용될 때 데이터가 결합되어 있다고 한다.
- ② 내용 결합도(Content Coupling)는 하나의 모듈이 직접적으로 다른 모듈의 내용을 참조할 때 두 모듈은 내용적으로 결합되어 있다고 한다.
- ③ 공통 결합도(Common Coupling)는 두 모듈이 동일한 전역 데이터를 접근한다면 공통 결합되어 있다고 한다.
- ④ 결합도(Coupling)는 두 모듈 간의 상호작용, 또는 의존도 정도를 나타내는 것이다.
정답 및 해설 보기
정답 ①
매개변수로 단순 값을 넘기면 데이터 결합도, 자료 구조를 통째로 넘기면 스탬프 결합도다. ①은 '자료 구조 전달'을 데이터 결합도라 해서 틀렸다.
⚠️ 함정 — 자료 구조 전달 = 스탬프 결합도.
문 016. UML에 대한 설명으로 옳지 않은 것은?
- ① OMG에서 만든 통합 모델링 언어로서 객체 지향적 분석, 설계 방법론의 표준 지정을 목표로 한다.
- ② 애플리케이션을 개발할 때 쉽게 이해할 수 있도록 도와 주는 여러 가지 유형의 다이어그램을 제공한다.
- ③ 실시간 시스템 및 분산 시스템과 같은 시스템의 분석과 설계에는 사용될 수 없다.
- ④ 개발자와 고객 또는 개발자 상호 간의 의사 소통을 원활하게 할 수 있다.
정답 및 해설 보기
정답 ③
UML은 실시간·분산 시스템의 분석·설계에도 쓸 수 있다. '사용될 수 없다'는 ③이 틀렸다.
문 017. 사용자 인터페이스의 설계 지침에 대한 설명으로 옳지 않은 것은?
- ① 조작 방법을 가능한 다양화하여 많은 기능이 들어갈 수 있도록 구성해야 한다.
- ② 버튼이나 조작 방법 등을 일관성 있게 제공해야 한다.
- ③ 작동시킬 기능만 보고도 결과를 미리 예측할 수 있게 설계해야 한다.
- ④ 사용자가 쉽게 이해하고 편리하게 사용할 수 있는 환경을 제공해야 한다.
정답 및 해설 보기
정답 ①
UI는 단순·일관성 있게 설계한다. ① '조작 방법을 다양화해 많은 기능을 넣는다'는 사용자 혼란만 키워 틀렸다.
문 018. 다음 설명에 해당하는 시스템으로 옳은 것은?
시스템 인터페이스를 구성하는 시스템으로, 연계할 데이터를 데이터베이스와 애플리케이션으로부터 연계 테이블 또는 파일 형태로 생성하며 송신하는 시스템이다.
- ① 연계 서버
- ② 중계 서버
- ③ 송신 시스템
- ④ 수신 시스템
정답 및 해설 보기
정답 ③
자기 DB·애플리케이션에서 데이터를 뽑아 연계 테이블·파일로 생성해 보내는 쪽이 송신 시스템이다. 연계 서버는 중계·변환, 수신 시스템은 받아서 반영한다.
🔑 암기 — '생성하며 송신' → 송신 시스템.
문 019. 입력되는 데이터를 컴퓨터의 프로세서가 처리하기 전에 미리 처리하여 프로세서가 처리하는 시간을 줄여주는 프로그램이나 하드웨어를 말하는 것은?
- ① EAI
- ② FEP
- ③ GPL
- ④ Duplexing
정답 및 해설 보기
정답 ②
입력 데이터를 메인 프로세서가 처리하기 전에 미리 처리해 부하를 줄이는 장치가 FEP(Front-End Processor)다. EAI=애플리케이션 통합, GPL=라이선스, Duplexing=이중화.
문 020. 설계 기법 중 하향식 설계 방법과 상향식 설계 방법에 대한 비교 설명으로 가장 옳지 않은 것은?
- ① 하향식 설계에서는 통합 검사 시 인터페이스가 이미 정의되어 있어 통합이 간단하다.
- ② 하향식 설계에서 레벨이 낮은 데이터 구조의 세부 사항은 설계 초기 단계에서 필요하다.
- ③ 상향식 설계는 최하위 수준에서 각각의 모듈들을 설계하고 이러한 모듈이 완성되면 이들을 결합하여 검사한다.
- ④ 상향식 설계에서는 인터페이스가 이미 성립되어 있지 않더라도 기능 추가가 쉽다.
정답 및 해설 보기
정답 ④
상향식은 하위 모듈부터 만들어 인터페이스가 아직 없으면 기능 추가가 어렵다. ④ '기능 추가가 쉽다'가 틀렸다. 하향식은 상위부터 설계해 인터페이스가 먼저 정의된다.
Part Ⅱ 소프트웨어 개발 (문 021~040)
문 021. 소스 코드 품질 분석 도구 중 정적 분석 도구가 아닌 것은?
- ① pmd
- ② cppcheck
- ③ valMeter
- ④ checkstyle
정답 및 해설 보기
정답 ③
정적 분석 도구는 pmd·cppcheck·checkstyle 등이다. ③ valMeter는 정적 분석 도구가 아니다.
문 022. 다음 자료에 대하여 "Selection Sort"를 사용하여 오름차순으로 정렬한 경우 PASS 3의 결과는?
초기상태: 8, 3, 4, 9, 7
- ① 3, 4, 7, 9, 8
- ② 3, 4, 8, 9, 7
- ③ 3, 8, 4, 9, 7
- ④ 3, 4, 7, 8, 9
정답 및 해설 보기
정답 ①
선택 정렬은 매 회전마다 남은 구간의 최솟값을 골라 앞으로 보낸다. [8,3,4,9,7] → PASS1 [3,8,4,9,7] → PASS2 [3,4,8,9,7] → PASS3 [3,4,7,9,8]. 이 코드의 PASS 3 결과는 [3,4,7,9,8]이다.
🔑 암기 — 선택 정렬 = 최솟값 선택 → 앞과 교환.
문 023. 소프트웨어를 재사용함으로써 얻을 수 있는 이점으로 가장 거리가 먼 것은?
- ① 생산성 증가
- ② 프로젝트 문서 공유
- ③ 소프트웨어 품질 향상
- ④ 새로운 개발 방법론 도입 용이
정답 및 해설 보기
정답 ④
재사용의 이점은 생산성↑·문서 공유·품질↑ 등이다. ④ '새로운 개발 방법론 도입 용이'는 재사용과 직접 관련이 없다.
문 024. 정보 시스템 개발 단계에서 프로그래밍 언어 선택 시 고려할 사항으로 가장 거리가 먼 것은?
- ① 개발 정보 시스템의 특성
- ② 사용자의 요구사항
- ③ 컴파일러의 가용성
- ④ 컴파일러의 독창성
정답 및 해설 보기
정답 ④
언어 선택 시 시스템 특성·사용자 요구사항·컴파일러 가용성을 고려한다. ④ '컴파일러의 독창성'은 선택 기준이 아니다.
문 025. 인터페이스 보안을 위해 네트워크 영역에 적용될 수 있는 솔루션과 거리가 먼 것은?
- ① IPSec
- ② SSL
- ③ SMTP
- ④ S-HTTP
정답 및 해설 보기
정답 ③
SMTP는 메일 전송 프로토콜로 보안 솔루션이 아니다. IPSec·SSL·S-HTTP는 구간 암호화 솔루션이다.
⚠️ 함정 — SMTP는 메일 전송(보안 ✗).
문 026. 검증 검사 기법 중 개발자의 장소에서 사용자가 개발자 앞에서 행하는 기법이며, 일반적으로 통제된 환경에서 사용자와 개발자가 함께 확인하면서 수행되는 검사는?
- ① 동치 분할 검사
- ② 형상 검사
- ③ 알파 검사
- ④ 베타 검사
정답 및 해설 보기
정답 ③
개발자 장소에서 사용자가 개발자 앞에서 통제된 환경으로 하는 검사가 알파 검사다. 베타 검사는 사용자 환경에서 개발자 없이 한다.
🔑 암기 — 알파=개발자 장소·통제 / 베타=사용자 환경·자유.
문 027. 소프트웨어 설치 매뉴얼에 대한 설명으로 틀린 것은?
- ① 설치 과정에서 표시될 수 있는 예외상황에 관련 내용을 별도로 구분하여 설명한다.
- ② 설치 시작부터 완료할 때까지의 전 과정을 빠짐없이 순서대로 설명한다.
- ③ 설치 매뉴얼은 개발자 기준으로 작성한다.
- ④ 설치 매뉴얼에는 목차, 개요, 기본사항 등이 기본적으로 포함되어야 한다.
정답 및 해설 보기
정답 ③
설치 매뉴얼은 사용자(최종 이용자) 기준으로 쓴다. ③ '개발자 기준'은 틀렸다 — 비전문가가 따라오기 어렵다.
문 028. 다음 중 블랙박스 테스트(Black Box Test) 기법에 해당하는 것은?
- ① 기초 경로 검사
- ② 조건 검사
- ③ 경계값 분석
- ④ 루프 검사
정답 및 해설 보기
정답 ③
경계값 분석(Boundary Value Analysis)은 입력값의 경계에서 오류가 자주 발생한다는 점에 착안한 블랙박스 기법이다. 기초 경로 검사·조건 검사·루프 검사는 코드 내부 구조를 보는 화이트박스 기법이다.
🔑 암기 — 경계값 분석·동치 분할 = 블랙박스 / 기초 경로·조건·루프 = 화이트박스.
문 029. 형상 관리 도구의 주요 기능으로 거리가 먼 것은?
- ① 체크아웃(Check-out)
- ② 체크인(Check-in)
- ③ 식별(Identification)
- ④ 커밋(Commit)
정답 및 해설 보기
정답 ③
형상 관리 도구의 기능은 체크아웃·체크인·커밋·diff·merge 등이다. ③ 식별(Identification)은 형상 관리 활동(절차)이지 도구 기능이 아니다.
⚠️ 함정 — 식별=활동 / 체크인·커밋=도구 기능.
문 030. 테스트 하네스(Test Harness)의 구성 요소에 해당하지 않는 것은?
- ① 테스트 드라이버
- ② 테스트 스텁
- ③ 테스트 케이스
- ④ 테스트 시나리오
정답 및 해설 보기
정답 ④
테스트 하네스 구성 요소는 드라이버·스텁·케이스·슈트·스크립트다. ④ 테스트 시나리오는 절차를 기술한 문서로 하네스 구성 요소가 아니다.
문 031. 다음 Postfix 연산식에 대한 연산결과로 옳은 것은? 3 4 * 5 6 * +
- ① 35
- ② 42
- ③ 77
- ④ 360
정답 및 해설 보기
정답 ②
후위 표기는 피연산자를 스택에 쌓고 연산자를 만나면 꺼내 계산한다. 3 4 *→12, 5 6 *→30, 12 30 +→42. 이 식의 결과는 42다.
🔑 암기 — 3×4 + 5×6 = 42.
문 032. 클린 코드(Clean Code)를 작성하기 위한 원칙으로 틀린 것은?
- ① 추상화 : 하위 클래스/메소드/함수를 통해 애플리케이션의 특성을 간략하게 나타내고, 상세 내용은 상위 클래스/메소드/함수에서 구현한다.
- ② 의존성 : 다른 모듈에 미치는 영향을 최소화하도록 작성한다.
- ③ 가독성 : 누구든지 쉽게 읽을 수 있도록 작성한다.
- ④ 중복성 : 중복을 최소화 할 수 있는 코드를 작성한다.
정답 및 해설 보기
정답 ①
클린 코드의 추상화는 상위에서 간략히, 하위에서 상세히 구현한다. ①은 상·하가 뒤집혀 틀렸다. 의존성 최소화·가독성·중복 최소화는 옳다.
문 033. 퀵 정렬에 관한 설명으로 옳은 것은?
- ① 레코드의 키 값을 분석하여 같은 값끼리 그 순서에 맞는 버킷에 분배하였다가 버킷의 순서대로 레코드를 꺼내어 정렬한다.
- ② 주어진 파일에서 인접한 두 개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환한다.
- ③ 레코드의 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬한다.
- ④ 임의의 레코드 키와 매개변수(h)값만큼 떨어진 곳의 레코드 키를 비교하여 서로 교환해 가면서 정렬한다.
정답 및 해설 보기
정답 ③
퀵 정렬은 피벗을 기준으로 파일을 부분적으로 나눠 가며 정렬하는 분할 정복이다. ①=기수 정렬, ②=버블 정렬, ④=셸 정렬의 설명이다.
문 034. 인터페이스 구현 시 사용하는 기술 중 다음 내용이 설명하는 것은?
JavaScript를 사용한 비동기 통신기술로, 클라이언트와 서버 간에 XML 데이터를 주고받는 기술
- ① Procedure
- ② Trigger
- ③ Greedy
- ④ AJAX
정답 및 해설 보기
정답 ④
JavaScript 기반 비동기 통신으로 서버와 XML 데이터를 주고받는 기술이 AJAX다.
🔑 암기 — AJAX = JavaScript + 비동기 + XML.
문 035. 다음 중 후입선출(LIFO) 방식으로 자료를 처리하는 자료구조는?
- ① 큐(Queue)
- ② 데크(Deque)
- ③ 스택(Stack)
- ④ 트리(Tree)
정답 및 해설 보기
정답 ③
후입선출(LIFO; Last-In First-Out)은 가장 나중에 삽입된 자료가 가장 먼저 삭제되는 방식으로, 이 구조가 스택(Stack)이다. 큐(Queue)는 선입선출(FIFO), 데크(Deque)는 양쪽 끝에서 삽입·삭제가 가능한 구조, 트리(Tree)는 계층 구조다.
🔑 암기 — LIFO = 스택 / FIFO = 큐.
문 036. 디지털 저작권 관리(DRM)의 기술 요소가 아닌 것은?
- ① 크랙 방지 기술
- ② 정책 관리 기술
- ③ 암호화 기술
- ④ 방화벽 기술
정답 및 해설 보기
정답 ④
DRM 기술 요소는 크랙 방지·정책 관리·암호화·인증·키 관리다. ④ 방화벽은 네트워크 보안 기술로 DRM 요소가 아니다.
문 037. 소프트웨어 패키징 이후, 개발 완료된 제품의 최종 사용자에게 버전, 개선 사항, 버그 수정 내역 등을 안내하는 문서는?
- ① 요구사항 명세서
- ② 릴리스 노트(Release Note)
- ③ 데이터 흐름도
- ④ 형상 관리 대장
정답 및 해설 보기
정답 ②
버전·개선 사항·버그 수정 등 제품의 변경 정보를 최종 사용자에게 안내하는 문서가 릴리스 노트(Release Note)다. 요구사항 명세서는 개발 전 요구 정의, 데이터 흐름도는 자료 흐름 표현, 형상 관리 대장은 산출물 버전 관리용이다.
🔑 암기 — 버전·변경 내역 안내 문서 = 릴리스 노트.
문 038. 소프트웨어 품질 관련 국제 표준인 ISO/IEC 25000에 관한 설명으로 옳지 않은 것은?
- ① 소프트웨어 품질 평가를 위한 소프트웨어 품질평가 통합모델 표준이다.
- ② System and Software Quality Requirements and Evaluation으로 줄여서 SQuaRE라고도 한다.
- ③ ISO/IEC 2501n에서는 소프트웨어의 내부 측정, 외부 측정, 사용 품질 측정, 품질 측정 요소 등을 다룬다.
- ④ 기존 소프트웨어 품질 평가 모델과 소프트웨어 평가 절차 모델인 ISO/IEC 9126과 ISO/IEC 14598을 통합하였다.
정답 및 해설 보기
정답 ③
ISO/IEC 2501n은 품질 모델을, 품질 측정은 2502n 시리즈가 다룬다. ③은 '2501n이 측정을 다룬다'라 틀렸다. SQuaRE는 9126·14598을 통합한 표준이다.
🔑 암기 — 2501n=모델 / 2502n=측정.
문 039. EAI(Enterprise Application Integration)의 구축유형에 대한 설명으로 틀린 것은?
- ① Point-to-Point는 가장 기본적인 애플리케이션 통합 방식으로, 애플리케이션을 1 : 1로 연결한다.
- ② Hub&Spoke는 단일 접점인 허브 시스템을 통해 데이터를 전송하는 중앙 집중형 방식이다.
- ③ 애플리케이션 사이에 미들웨어를 두어 처리하는 방식은 ESB이다.
- ④ Hybrid는 Point-to-Point와 Hub&Spoke의 혼합 방식이다.
정답 및 해설 보기
정답 ④
Hybrid는 Hub&Spoke + Message Bus(ESB) 결합 방식이다. ④가 'P2P + Hub&Spoke'라 틀렸다. ①P2P 1:1, ②Hub&Spoke 중앙 집중, ③ESB 미들웨어는 옳다.
문 040. 통합 개발 환경(IDE)에 대한 설명으로 옳지 않은 것은?
- ① 개발을 위한 편집기, 컴파일러, 디버거 등이 포함되어 있다.
- ② 코드의 자동 생성이 가능하다.
- ③ 다양한 기능들을 다운로드하여 추가할 수 있다.
- ④ 단일 플랫폼만을 지원하는 한계가 있다.
정답 및 해설 보기
정답 ④
현대 IDE는 다양한 크로스 플랫폼과 플러그인 확장을 지원한다. ④ '단일 플랫폼만 지원'은 틀렸다.
Part Ⅲ 데이터베이스 구축 (문 041~060)
문 041. STUDENT 테이블에 독일어과 학생 50명, 중국어과 학생 30명, 영어영문학과 학생 50명의 정보가 저장되어 있을 때, 다음 두 SQL문의 실행 결과 튜플 수는? (단, DEPT 컬럼은 학과명)
ⓐ SELECT DEPT FROM STUDENT;
ⓑ SELECT DISTINCT DEPT FROM STUDENT;
- ① ⓐ 3, ⓑ 3
- ② ⓐ 50, ⓑ 3
- ③ ⓐ 130, ⓑ 3
- ④ ⓐ 130, ⓑ 130
정답 및 해설 보기
정답 ③
ⓐ SELECT DEPT는 중복을 포함해 전체 행(50+30+50=130)을 반환하고, ⓑ SELECT DISTINCT DEPT는 중복을 제거해 학과명 3개만 반환한다. 실제로 두 쿼리는 각각 130행, 3행을 돌려준다.
🔑 암기 — DISTINCT = 중복 제거.
문 042. 참조 무결성을 유지하기 위하여 DROP문에서 부모 테이블의 항목 값을 삭제할 경우 자동적으로 자식 테이블의 해당 레코드를 삭제하기 위한 옵션은?
- ① CLUSTER
- ② CASCADE
- ③ SET-NULL
- ④ RESTRICTED
정답 및 해설 보기
정답 ②
부모 레코드를 지울 때 이를 참조하는 자식 레코드도 자동 삭제해 참조 무결성을 지키는 옵션이 CASCADE다. RESTRICTED=삭제 거부, SET-NULL=FK를 NULL로.
문 043. 트랜잭션을 수행하는 도중 장애로 인해 손상된 데이터베이스를 손상되기 이전에 정상적인 상태로 복구시키는 작업은?
- ① Recovery
- ② Commit
- ③ Abort
- ④ Restart
정답 및 해설 보기
정답 ①
장애로 손상된 DB를 손상 이전 정상 상태로 되돌리는 작업이 Recovery(회복)다. Commit=확정, Abort=철회, Restart=재시작.
문 044. E-R 모델의 표현 방법으로 옳지 않은 것은?
- ① 개체 타입 : 사각형
- ② 관계 타입 : 마름모
- ③ 속성 : 오각형
- ④ 연결 : 선
정답 및 해설 보기
정답 ③
E-R 모델에서 속성은 타원으로 그린다. ③ '속성=오각형'이 틀렸다. 개체=사각형, 관계=마름모, 연결=선은 옳다.
⚠️ 함정 — 속성은 타원(오각형 ✗).
문 045. DBMS의 필수 기능 중 사용자와 데이터베이스 사이의 인터페이스 수단을 제공하는 기능은?
- ① Definition 기능
- ② Control 기능
- ③ Manipulation 기능
- ④ Strategy 기능
정답 및 해설 보기
정답 ③
사용자와 DB 사이의 인터페이스 수단을 제공하는 것은 조작(Manipulation) 기능이다. 정의(Definition)=스키마 정의, 제어(Control)=무결성·보안·권한.
문 046. 시스템 카탈로그에 대한 설명으로 틀린 것은?
- ① 시스템 카탈로그의 갱신은 무결성 유지를 위하여 SQL을 이용하여 사용자가 직접 갱신하여야 한다.
- ② 데이터베이스에 포함되는 데이터 객체에 대한 정의나 명세에 대한 정보를 유지관리한다.
- ③ DBMS가 스스로 생성하고 유지하는 데이터베이스 내의 특별한 테이블의 집합체이다.
- ④ 카탈로그에 저장된 정보를 메타 데이터라고도 한다.
정답 및 해설 보기
정답 ①
시스템 카탈로그는 DBMS가 스스로 갱신한다. ① '사용자가 SQL로 직접 갱신해야 한다'가 틀렸다 — 사용자는 조회만 할 수 있다.
문 047. 데이터베이스의 특성으로 옳은 내용 모두를 나열한 것은?
㉠ 실시간 접근성 ㉡ 계속적인 변화 ㉢ 동시 공용 ㉣ 내용에 의한 참조
- ① ㉠
- ② ㉡, ㉢
- ③ ㉠, ㉢, ㉣
- ④ ㉠, ㉡, ㉢, ㉣
정답 및 해설 보기
정답 ④
실시간 접근성·계속적인 변화·동시 공용·내용에 의한 참조는 모두 데이터베이스의 4대 특성이다. 따라서 ㉠㉡㉢㉣ 전부 해당한다.
🔑 암기 — DB 특성 = 실시간·계속 변화·동시 공용·내용 참조.
문 048. 뷰(View)의 장점이 아닌 것은?
- ① 뷰 자체로 인덱스를 가짐
- ② 데이터 보안 용이
- ③ 논리적 독립성 제공
- ④ 사용자 데이터 관리 용이
정답 및 해설 보기
정답 ①
뷰는 자체 인덱스를 갖지 않고 기본 테이블의 인덱스를 쓴다. ① '뷰 자체로 인덱스를 가짐'은 뷰의 장점이 아니라 틀린 설명이다. 보안·논리적 독립성·관리 편의는 뷰의 장점이다.
문 049. 다음과 같이 위쪽 릴레이션을 아래쪽 릴레이션으로 정규화를 하였을 때 어떤 정규화 작업을 한 것인가?
위쪽 릴레이션
| 국가 | 도시 |
|---|---|
| 대한민국 | 서울, 부산 |
| 미국 | 워싱턴, 뉴욕 |
| 중국 | 베이징 |
↓
아래쪽 릴레이션
| 국가 | 도시 |
|---|---|
| 대한민국 | 서울 |
| 대한민국 | 부산 |
| 미국 | 워싱턴 |
| 미국 | 뉴욕 |
| 중국 | 베이징 |
- ① 제1정규형
- ② 제2정규형
- ③ 제3정규형
- ④ 제4정규형
정답 및 해설 보기
정답 ①
한 셀에 '서울, 부산'처럼 여러 값이 든 릴레이션을 원자 값으로 분해하는 정규화가 제1정규형(1NF)이다.
🔑 암기 — 다치(비원자) 속성 → 원자 값 분해 = 1NF.
문 050. 다음 설명에 해당하는 것은?
물리적 저장 장치의 입장에서 본 데이터베이스 구조로서 실제로 데이터베이스에 저장될 레코드의 형식을 정의하고 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다.
- ① 외부 스키마
- ② 내부 스키마
- ③ 개념 스키마
- ④ 슈퍼 스키마
정답 및 해설 보기
정답 ②
물리적 저장 장치 입장에서 레코드 형식·표현·물리 순서를 정의하는 것이 내부 스키마다.
| 스키마 | 관점 |
|---|---|
| 외부 | 사용자·응용(뷰) |
| 개념 | 조직 전체 논리 구조 |
| 내부 | 물리 저장(레코드·인덱스) |
'슈퍼 스키마'는 없는 용어다(혼동 함정).
🔑 암기 — 외부=뷰 / 개념=논리 / 내부=물리.
문 051. 다음 SQL 문장이 뜻하는 것은 무엇인가?
INSERT INTO 컴퓨터과테이블(학번, 이름, 학년)
SELECT 학번, 이름, 학년
FROM 학생테이블
WHERE 학과='컴퓨터'
- ① 학생테이블에서 학과가 컴퓨터인 사람의 학번, 이름, 학년을 검색한다.
- ② 학생테이블에서 학과가 컴퓨터인 사람의 학번, 이름, 학년을 삽입한다.
- ③ 학생테이블에서 학과가 컴퓨터인 사람의 학번, 이름, 학년을 검색하여 컴퓨터과테이블에 삽입한다.
- ④ 컴퓨터과테이블에서 학과가 컴퓨터인 사람의 학번, 이름, 학년을 검색하여 학생테이블에 삽입한다.
정답 및 해설 보기
정답 ③
INSERT INTO A ... SELECT ... FROM B WHERE 조건은 B에서 조건에 맞는 행을 검색해 A에 삽입하는 구문이다. 즉 학생테이블에서 학과가 컴퓨터인 사람을 찾아 컴퓨터과테이블에 넣는다.
🔑 암기 — INSERT INTO A SELECT FROM B = B 검색 → A 삽입.
문 052. 데이터 제어 언어(DCL)의 기능으로 옳지 않은 것은?
- ① 데이터 보안
- ② 논리적, 물리적 데이터 구조 정의
- ③ 무결성 유지
- ④ 병행수행 제어
정답 및 해설 보기
정답 ②
논리적·물리적 데이터 구조 정의는 DDL의 기능이다. ②가 DCL 기능이라 해서 틀렸다. DCL은 보안·무결성·병행수행 제어를 한다.
⚠️ 함정 — 구조 정의 = DDL(DCL ✗).
문 053. SQL의 GROUP BY 및 HAVING 절에 대한 설명으로 옳지 않은 것은?
- ① GROUP BY는 지정한 속성 값이 같은 튜플끼리 그룹으로 묶는다.
- ② SELECT 절에는 GROUP BY에 사용된 속성이나 집계 함수를 쓸 수 있다.
- ③ 집계 함수(COUNT, SUM 등)를 이용한 조건은 WHERE 절에 작성한다.
- ④ HAVING은 GROUP BY로 만들어진 그룹에 대한 조건을 지정한다.
정답 및 해설 보기
정답 ③
집계 함수를 조건으로 거는 것은 WHERE가 아니라 HAVING이다. WHERE는 그룹을 만들기 전 개별 행을 거르고, HAVING은 그룹으로 묶은 뒤 그룹을 거른다. 따라서 ③이 틀렸다.
| 구분 | 걸러지는 대상 | 집계 함수 조건 |
|---|---|---|
| WHERE | 그룹화 전 개별 행 | 사용 ✘ |
| HAVING | 그룹화 후 그룹 | 사용 ✔ |
🔑 암기 — 개별 행은 WHERE, 묶은 그룹은 HAVING. 집계 조건은 HAVING.
문 054. SQL의 부속 질의(Subquery)에 대한 설명으로 옳지 않은 것은?
- ① 하나의 SQL문 안에 포함된 또 다른 SELECT문이다.
- ② 부속 질의는 괄호로 묶어 작성한다.
- ③ 여러 행을 반환하는 부속 질의에는 '=' 비교 연산자를 사용한다.
- ④ EXISTS는 부속 질의의 결과가 존재하는지 여부만 판단한다.
정답 및 해설 보기
정답 ③
여러 행을 반환하는 부속 질의에 '='를 쓰면 오류가 난다. 이때는 IN, ANY, ALL 같은 다중 행 연산자를 써야 한다. 단일 행을 반환할 때만 '='을 쓸 수 있으므로 ③이 틀렸다.
| 반환 행 수 | 사용 연산자 |
|---|---|
| 단일 행 | =, >, < 등 |
| 다중 행 | IN, ANY, ALL, EXISTS |
🔑 암기 — 단일 행 =, 다중 행 IN/ANY/ALL. 존재 여부는 EXISTS.
문 055. 어떤 릴레이션 R의 모든 조인 종속성의 만족이 R의 후보키를 통해서만 만족될 때, 이 릴레이션 R이 해당하는 정규형은?
- ① 제5정규형
- ② 제4정규형
- ③ 제3정규형
- ④ 제1정규형
정답 및 해설 보기
정답 ①
모든 조인 종속성이 후보키를 통해서만 만족되는 정규형이 제5정규형(5NF), 곧 PJ/NF다.
🔑 암기 — 정규화: 1NF(원자값)→2NF(부분종속)→3NF(이행종속)→BCNF→4NF(다치)→5NF(조인종속).
문 056. 분산 데이터베이스의 특징에 대한 설명으로 틀린 것은?
- ① 지역 서버의 고유 데이터에 대한 작업은 중앙 서버의 통제 없이 자유롭게 수행할 수 있다.
- ② 새로운 지역 서버를 추가하거나 장비를 추가하는 등의 작업이 용이하다.
- ③ 위치 투명성, 중복 투명성, 병행 투명성, 장애 투명성을 목표로 한다.
- ④ 데이터베이스 설계 및 소프트웨어 개발이 쉽고, 전반적인 시스템의 성능이 향상된다.
정답 및 해설 보기
정답 ④
분산 데이터베이스는 설계·개발이 복잡하고 어렵다. ④ '설계·개발이 쉽고 성능이 향상된다'는 반대 서술이다. 목표는 위치·중복·병행·장애 투명성이다.
문 057. 다음 설명과 관련 있는 트랜잭션의 특징은?
트랜잭션의 연산은 모두 실행되거나, 모두 실행되지 않아야 한다.
- ① Durability
- ② Isolation
- ③ Consistency
- ④ Atomicity
정답 및 해설 보기
정답 ④
'모두 실행되거나 모두 실행되지 않아야 한다'는 원자성(Atomicity) — All or Nothing이다.
| 속성 | 뜻 |
|---|---|
| Atomicity | 모두 실행 or 모두 취소 |
| Consistency | 실행 전후 일관성 유지 |
| Isolation | 동시 실행 시 상호 격리 |
| Durability | 커밋 후 영구 보존 |
🔑 암기 — 트랜잭션 4대 속성 = ACID.
문 058. 병행제어 기법 중 로킹에 대한 설명으로 옳지 않은 것은?
- ① 로킹의 대상이 되는 객체의 크기를 로킹 단위라고 한다.
- ② 데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있다.
- ③ 로킹의 단위가 작아지면 로킹 오버헤드가 증가한다.
- ④ 로킹의 단위가 커지면 데이터베이스 공유도가 증가한다.
정답 및 해설 보기
정답 ④
로킹 단위가 커지면 잠기는 범위가 넓어 공유도(병행성)가 감소한다. ④ '커지면 공유도 증가'가 틀렸다. 단위가 작을수록 공유도↑·오버헤드↑.
🔑 암기 — 로킹 단위 大 → 공유도↓·오버헤드↓ / 小 → 공유도↑·오버헤드↑.
문 059. 관계 데이터베이스에서 인덱스(Index)에 대한 설명으로 옳지 않은 것은?
- ① 검색 속도를 높이기 위해 사용하는 보조적인 자료 구조이다.
- ② 기본키(Primary Key)에는 자동으로 인덱스가 생성된다.
- ③ 인덱스를 많이 만들수록 삽입·삭제·갱신 성능이 향상된다.
- ④ CREATE INDEX 문으로 생성하고 DROP INDEX 문으로 제거한다.
정답 및 해설 보기
정답 ③
인덱스는 원하는 레코드를 빨리 찾기 위한 보조 자료 구조다. 검색(SELECT)은 빨라지지만, 데이터가 바뀔 때마다 인덱스도 함께 갱신해야 하므로 인덱스가 많으면 삽입·삭제·갱신은 오히려 느려진다. ③이 반대로 서술되어 틀렸다.
| 구분 | 인덱스 효과 |
|---|---|
| 검색(SELECT) | 빨라짐 ✔ |
| 삽입·삭제·갱신 | 느려짐(인덱스도 갱신) ✘ |
| 기본키 | 자동으로 인덱스 생성 |
🔑 암기 — 인덱스 = 검색↑ 대신 갱신↓. 많다고 좋은 게 아니다.
문 060. 학생 테이블을 생성한 후, 성별 필드가 누락되어 이를 추가하려고 한다. 이에 적합한 SQL 명령어는?
- ① INSERT
- ② ALTER
- ③ DROP
- ④ MODIFY
정답 및 해설 보기
정답 ②
이미 만든 테이블에 컬럼을 추가할 때는 ALTER TABLE ... ADD를 쓴다. CREATE=새로 생성, DROP=통째 삭제, MODIFY는 ALTER의 옵션이다.
ALTER TABLE 학생 ADD 성별 VARCHAR(10);
🔑 암기 — 컬럼 추가·수정·삭제 = ALTER.
Part Ⅳ 프로그래밍 언어 활용 (문 061~080)
문 061. TCP/IP에서 사용되는 논리 주소를 물리 주소로 변환시켜 주는 프로토콜은?
- ① TCP
- ② ARP
- ③ FTP
- ④ IP
정답 및 해설 보기
정답 ②
논리 주소(IP)를 물리 주소(MAC)로 변환하는 프로토콜이 ARP다. 반대(MAC→IP)는 RARP다. TCP=전송 제어, FTP=파일 전송, IP=인터넷 프로토콜.
🔑 암기 — ARP: IP→MAC / RARP: MAC→IP.
문 062. TCP/IP 계층 구조에서 IP의 동작 과정에서의 전송 오류가 발생하는 경우에 대비해 오류 정보를 전송하는 목적으로 사용하는 프로토콜은?
- ① ECP(Error Checking Protocol)
- ② ARP(Address Resolution Protocol)
- ③ ICMP(Internet Control Message Protocol)
- ④ PPP(Point-to-Point Protocol)
정답 및 해설 보기
정답 ③
IP 통신 중 오류가 나면 오류·제어 메시지를 보고하는 프로토콜이 ICMP다. ECP는 없는 약어, ARP=IP→MAC, PPP=점대점 링크.
문 063. 다음 C 언어 프로그램의 결과로 옳은 것은?
#include <stdio.h>
main( ) {
int i = 0;
while (1) {
if (i == 4)
break;
i++;
}
printf("%d", i);
}
- ① 3
- ② 4
- ③ 5
- ④ 6
정답 및 해설 보기
정답 ②
i=0에서 시작해 while(1) 무한 루프를 돌며 i를 1씩 늘리다가 i==4가 되면 break로 빠져나온다. 탈출 시점의 i는 4라서 이 코드의 출력은 4다.
문 064. 다음과 같은 형태로 임계 구역의 접근을 제어하는 상호배제 기법은?
P(S) : while S <= 0 do skip; S := S - 1;
V(S) : S := S + 1;
- ① Dekker Algorithm
- ② Lamport Algorithm
- ③ Peterson Algorithm
- ④ Semaphore
정답 및 해설 보기
정답 ④
P(S)(wait)와 V(S)(signal) 연산으로 임계 구역 접근을 제어하는 상호배제 기법이 세마포어(Semaphore)다. Dekker·Peterson·Lamport는 알고리즘 기반 기법이다.
🔑 암기 — P(S)·V(S) 연산 = 세마포어.
문 065. UNIX에 대한 설명으로 옳지 않은 것은?
- ① 상당 부분 C 언어를 사용하여 작성되었으며, 이식성이 우수하다.
- ② 사용자는 하나 이상의 작업을 백그라운드에서 수행할 수 있어 여러 개의 작업을 병행 처리할 수 있다.
- ③ 쉘(Shell)은 프로세스 관리, 기억장치 관리, 입출력 관리 등의 기능을 수행한다.
- ④ 두 사람 이상의 사용자가 동시에 시스템을 사용할 수 있어 정보와 유틸리티들을 공유하는 편리한 작업 환경을 제공한다.
정답 및 해설 보기
정답 ③
프로세스·기억장치·입출력 관리는 커널(Kernel)의 기능이다. ③은 이를 쉘(Shell)의 기능이라 해서 틀렸다. 쉘은 명령 해석기다.
⚠️ 함정 — 쉘=명령 해석기 / 커널=자원 관리.
문 066. C, Java 언어 등에서 사용되는 예약어로, 반복문 안에서 이후의 문장을 실행하지 않고 제어를 반복문의 처음으로 옮기는 명령어는 무엇인가?
- ① break
- ② continue
- ③ next
- ④ release
정답 및 해설 보기
정답 ②
반복문에서 이후 문장을 건너뛰고 제어를 반복문 처음으로 옮기는 예약어는 continue다. break는 반복을 완전히 빠져나온다.
🔑 암기 — continue=처음으로 / break=탈출.
문 067. JAVA 언어에서 접근제한자가 아닌 것은?
- ① public
- ② protected
- ③ package
- ④ private
정답 및 해설 보기
정답 ③
Java 접근제한자는 public·protected·(default)·private 4가지다. ③ package는 패키지 선언 키워드일 뿐 접근제한자가 아니다.
| 접근제한자 | 범위 |
|---|---|
| public | 모든 클래스 |
| protected | 같은 패키지 + 상속 자식 |
| (default) | 같은 패키지 안 |
| private | 같은 클래스 안 |
⚠️ 함정 — default는 키워드 없이 생략된 접근 수준이다.
문 068. 다음 내용이 설명하는 소프트웨어 취약점은? 메모리를 다루는 데 오류가 발생하여 잘못된 동작을 하는 프로그램 취약점
- ① FTP 바운스 공격
- ② SQL 삽입
- ③ 버퍼 오버플로
- ④ 디렉토리 접근 공격
정답 및 해설 보기
정답 ③
메모리를 다루다 오류가 생겨 잘못 동작하는 취약점이 버퍼 오버플로다. FTP 바운스=FTP 악용, SQL 삽입=DB 공격, 디렉토리 접근=경로 조작.
문 069. 다음 Python 프로그램이 실행되었을 때, 실행 결과는?
a = ["대", "한", "민", "국"]
for i in a:
print(i)
- ① 대한민국 (한 줄)
- ② 대 / 한 / 민 / 국 (네 줄에 한 글자씩)
- ③ 대 (한 글자만)
- ④ 대대대대 (대를 네 번)
정답 및 해설 보기
정답 ②
for i in a: print(i)는 리스트 원소를 하나씩 꺼내 각각 한 줄에 출력한다. print()는 기본으로 줄바꿈을 붙이므로 대·한·민·국이 네 줄에 한 글자씩 찍힌다. 한 줄로 붙이려면 print(i, end='')가 필요하다.
🔑 암기 — print()는 기본 줄바꿈.
문 070. C언어에서 사용할 수 없는 변수명은?
- ① student2025
- ② text-color
- ③ _korea
- ④ amount
정답 및 해설 보기
정답 ②
C 변수명에는 하이픈(-)을 쓸 수 없다(뺄셈 연산자와 충돌). ② text-color가 유효하지 않다. 영문·숫자·밑줄(_)만 허용되고 첫 글자는 숫자를 못 쓴다.
⚠️ 함정 — 변수명에 하이픈 금지.
문 071. C 언어의 printf 함수에서 서식 지정자(형식 문자)와 자료형의 연결이 옳지 않은 것은?
- ① %d — 10진 정수
- ② %f — 실수(부동소수점)
- ③ %c — 하나의 문자
- ④ %s — 논리(참/거짓) 값
정답 및 해설 보기
정답 ④
%s는 문자열(string)을 출력하는 서식 지정자다. C에는 별도의 논리형 출력 서식이 없고, 참/거짓은 정수 0/1로 %d를 사용해 출력한다. 따라서 ④가 틀렸다.
| 서식 | 자료형 |
|---|---|
| %d | 정수 |
| %f | 실수 |
| %c | 문자 |
| %s | 문자열 |
🔑 암기 — %s = String(문자열). d정수·f실수·c문자·s문자열.
문 072. 결합도가 낮은 것부터 높은 순으로 옳게 나열한 것은? (ㄱ) 내용 결합도 (ㄴ) 자료 결합도 (ㄷ) 공통 결합도 (ㄹ) 스탬프 결합도 (ㅁ) 외부 결합도 (ㅂ) 제어 결합도
- ① (ㄱ) → (ㄴ) → (ㄹ) → (ㅂ) → (ㅁ) → (ㄷ)
- ② (ㄱ) → (ㄴ) → (ㄹ) → (ㅁ) → (ㅂ) → (ㄷ)
- ③ (ㄴ) → (ㄹ) → (ㅂ) → (ㅁ) → (ㄷ) → (ㄱ)
- ④ (ㄴ) → (ㄹ) → (ㅁ) → (ㄷ) → (ㅂ) → (ㄱ)
정답 및 해설 보기
정답 ③
결합도 낮은→높은 순서는 자료 → 스탬프 → 제어 → 외부 → 공통 → 내용이다. 문제의 (ㄴ)→(ㄹ)→(ㅂ)→(ㅁ)→(ㄷ)→(ㄱ)이 이 순서다.
🔑 암기 — 결합도 낮→높: 자·스·제·외·공·내.
문 073. 정수를 입력받아 처리하는 다음 C 언어 프로그램에서 괄호에 들어갈 알맞은 코드는?
#include <stdio.h>
int main(void) {
int n, sum = 3;
( )
sum = sum + n;
printf("%d", sum);
}
- ① scanf("%d", n);
- ② scanf("%d", &n);
- ③ scanf("%f", n);
- ④ scanf("%f", &n);
정답 및 해설 보기
정답 ②
정수를 입력받으려면 scanf("%d", &n)가 맞다. %d는 정수 서식, &n은 변수의 주소를 넘기는 주소 연산자다. %f는 실수용이고, 주소(&)를 빼면 값을 받지 못한다.
🔑 암기 — 정수 입력 = scanf("%d", &변수).
문 074. 소프트웨어 개발에서 모듈(Module)이 되기 위한 주요 특징에 해당하지 않는 것은?
- ① 다른 것들과 구별될 수 있는 독립적인 기능을 가진 단위(Unit)이다.
- ② 독립적인 컴파일이 가능하다.
- ③ 유일한 이름을 가져야 한다.
- ④ 다른 모듈에서의 접근이 불가능해야 한다.
정답 및 해설 보기
정답 ④
모듈은 인터페이스를 통해 다른 모듈에서 접근 가능해야 한다. ④ '접근이 불가능해야 한다'는 협력을 막아 틀렸다. 독립 기능·독립 컴파일·유일 이름은 모듈의 특징이다.
문 075. 네트워크 계층까지의 프로토콜 구조가 다른 네트워크 간의 연결을 위해 프로토콜 변환 기능을 수행하는 네트워크 장비는 무엇인가?
- ① 리피터(Repeater)
- ② 브리지(Bridge)
- ③ 라우터(Router)
- ④ 게이트웨이(Gateway)
정답 및 해설 보기
정답 ④
프로토콜 구조가 다른 네트워크를 잇기 위해 프로토콜을 변환하는 장비가 게이트웨이다. 리피터=신호 증폭, 브리지=데이터링크 연결, 라우터=경로 선택.
🔑 암기 — 프로토콜 변환 = 게이트웨이.
문 076. 단편화(Fragmentation)와 재결합(Reassembly)에 대한 설명으로 옳지 않은 것은?
- ① 단편화는 송신 측에서 전송할 데이터를 전송에 알맞은 일정 크기의 작은 블록으로 자르는 작업을 의미한다.
- ② 재결합은 수신 측에서 단편화된 블록을 원래의 데이터로 모으는 것이다.
- ③ 단편화를 통해 세분화된 데이터 블록을 프레임이라고 한다.
- ④ 단편화를 하면 전송 시간이 단축되고, 효과적인 오류 제어가 가능하다.
정답 및 해설 보기
정답 ③
단편화로 잘린 블록은 세그먼트·패킷이라 부른다. ③ '프레임'은 데이터 링크 계층의 전송 단위라 틀렸다.
⚠️ 함정 — 프레임 = 데이터 링크 계층 단위.
문 077. 한 개의 통신 회선에 여러 대의 단말장치가 연결되어 있는 형태를 가진 네트워크 토폴로지는 어떤 형인가?
- ① 그물형
- ② 십자형
- ③ 버스형
- ④ 링형
정답 및 해설 보기
정답 ③
하나의 통신 회선에 여러 단말이 연결된 형태가 버스형(Bus)이다. 그물형=모든 노드 상호 연결, 링형=원형.
🔑 암기 — 한 회선에 여러 단말 = 버스형.
문 078. 순차 파일에 대한 설명으로 옳지 않은 것은?
- ① 레코드들이 순차적으로 처리되므로 대화식 처리보다 일괄 처리에 적합하다.
- ② 연속적인 레코드의 저장에 의해 레코드 사이에 빈 공간이 존재하지 않으므로 기억 장치의 효율적인 이용이 가능하다.
- ③ 매체 변환이 쉬워 어떠한 매체에도 적용할 수 있다.
- ④ 필요한 레코드를 삽입, 삭제, 수정하는 경우 파일을 재구성할 필요가 없으므로 파일 전체를 복사하지 않아도 된다.
정답 및 해설 보기
정답 ④
순차 파일은 레코드 삽입·삭제·수정 시 파일 전체를 재구성해야 한다. ④ '재구성이 필요 없다'가 틀렸다. 일괄 처리에 적합하고 공간 효율은 좋다.
문 079. 다음 C 언어 프로그램이 실행되었을 때의 결과는?
#include <stdio.h>
int main(void) {
int n = 4;
int* pt = NULL;
pt = &n;
printf("%d", &n + *pt - *&pt + n);
return 0;
}
- ① 0
- ② 4
- ③ 8
- ④ 12
정답 및 해설 보기
정답 ③
pt = &n이라 *pt=4, *&pt는 pt 자신=&n이다. 식 &n + *pt - *&pt + n은 (&n+4) - &n + 4가 되어 주소끼리 상쇄되고 4+4=8만 남는다. 이 코드의 출력은 8이다.
💡 포인터 뺄셈이 같은 주소를 상쇄하는 게 핵심이다.
문 080. C 언어에서 정수 변수 a, b에 각각 1, 2가 저장되어 있을 때 다음 식의 연산 결과로 옳은 것은? a < b + 2 && a << 1 <= b
- ① 0
- ② 1
- ③ 3
- ④ 5
정답 및 해설 보기
정답 ②
우선순위는 + > << > <·<= > &&다. b+2=4, a<<1=2. a < 4(1<4)=참(1), 2 <= b(2<=2)=참(1), 1 && 1=1. 이 식의 결과는 1이다.
🔑 암기 — 시프트(<<)가 비교(<,<=)보다 먼저 계산된다.
Part Ⅴ 정보시스템 구축관리 (문 081~100)
문 081. 웹페이지에 악의적인 스크립트를 포함시켜 사용자 측에서 실행되게 유도함으로써, 정보 유출 등의 공격을 유발할 수 있는 취약점은?
- ① Ransomware
- ② Pharming
- ③ Phishing
- ④ XSS
정답 및 해설 보기
정답 ④
웹페이지에 악의적 스크립트를 심어 사용자 브라우저에서 실행시키는 취약점이 XSS(Cross-Site Scripting)다. Ransomware=암호화 협박, Pharming=DNS 변조, Phishing=사칭 유도.
문 082. 다음 설명에 해당하는 공격 기법은?
시스템 공격 기법 중 하나로 허용 범위 이상의 ICMP 패킷을 전송하여 대상 시스템의 네트워크를 마비시킨다.
- ① Ping of Death
- ② Session Hijacking
- ③ Piggyback Attack
- ④ XSS
정답 및 해설 보기
정답 ①
규정 크기를 넘는 초대형 ICMP 패킷을 보내 시스템을 마비시키는 공격이 Ping of Death다. Session Hijacking=세션 탈취, Piggyback=인증 도용, XSS=스크립트 삽입.
🔑 암기 — 초대형 ICMP → Ping of Death.
문 083. 기능 점수(Functional Point) 모형에서 비용 산정에 이용되는 요소가 아닌 것은?
- ① 클래스 인터페이스
- ② 명령어(사용자 질의수)
- ③ 데이터 파일
- ④ 출력 보고서
정답 및 해설 보기
정답 ①
기능 점수(FP)의 5요소는 외부 입력·외부 출력·외부 조회·내부 논리 파일·외부 인터페이스 파일이다. ① 클래스 인터페이스는 FP 요소가 아니다.
🔑 암기 — FP 5요소 = 입력·출력·조회·내부파일·외부파일.
문 084. 다음 암호 알고리즘 중 성격 다른 하나는?
- ① MD4
- ② MD5
- ③ SHA-1
- ④ AES
정답 및 해설 보기
정답 ④
MD4·MD5·SHA-1은 해시 함수(단방향)이고, ④ AES는 대칭키 암호화(양방향)라 성격이 다르다.
🔑 암기 — MD·SHA=해시(단방향) / AES=암호화(양방향).
문 085. 다음에서 설명하는 소프트웨어 정의 기술(SDx)는?
- 가상화를 적용하여 필요한 공간만큼 나눠 사용할 수 있도록 하며 서버 가상화와 유사함
- 컴퓨팅 소프트웨어로 규정하는 데이터 스토리지 체계이며, 일정 조직 내 여러 스토리지를 하나처럼 관리하고 운용하는 컴퓨터 이용 환경
- 스토리지 자원을 효율적으로 나누어 쓰는 방법으로 이해할 수 있음
- ① Software Defined Storage
- ② Distribution Oriented Storage
- ③ Network Architected Storage
- ④ Systematic Network Storage
정답 및 해설 보기
정답 ①
가상화로 스토리지를 소프트웨어로 규정하고 여러 스토리지를 하나처럼 나눠 쓰는 기술이 SDS(Software Defined Storage)다. 서버 가상화와 유사하다.
🔑 암기 — 스토리지 가상화 = SDS.
문 086. 정보 보안의 3 요소에 해당하지 않는 것은?
- ① 기밀성
- ② 무결성
- ③ 가용성
- ④ 휘발성
정답 및 해설 보기
정답 ④
정보 보안 3요소는 기밀성·무결성·가용성(CIA)이다. ④ 휘발성은 메모리 특성이지 보안 요소가 아니다.
🔑 암기 — 보안 3요소 = CIA.
문 087. 다음 내용이 설명하는 것은?
- 블록체인(Blockchain) 개발 환경을 클라우드로 서비스하는 개념이다.
- 블록체인 네트워크에 노드의 추가 및 제거가 용이하다.
- 블록체인의 기본 인프라를 추상화하여 블록체인 응용프로그램을 만들 수 있는 클라우드 컴퓨팅 플랫폼이다.
- ① OTT
- ② BaaS
- ③ SDDC
- ④ Wi-SUN
정답 및 해설 보기
정답 ②
블록체인 인프라를 추상화해 개발 환경을 클라우드로 제공하고 노드 추가·제거가 쉬운 플랫폼이 BaaS(Blockchain as a Service)다. OTT=온라인 동영상, SDDC=소프트웨어 정의 데이터센터, Wi-SUN=스마트 유틸리티 네트워크.
🔑 암기 — 블록체인 + 클라우드 서비스 = BaaS.
문 088. OWASP(the Open Web Application Security Project)에 대한 설명으로 옳은 것은?
- ① P2P 네트워크를 이용하여 온라인 금융 거래 정보를 온라인 네트워크 참여자(Peer)의 디지털 장비에 분산 저장하는 기술이다.
- ② 대표적인 사례로 블록체인(Blockchain)이 있다.
- ③ 양자 통신을 위해 비밀키를 분배하여 관리하는 기술이다.
- ④ 웹 정보 노출이나 악성 코드, 스크립트, 보안이 취약한 부분을 연구하는 비영리 단체이다.
정답 및 해설 보기
정답 ④
OWASP는 웹 정보 노출·악성 코드·스크립트 등 웹 보안 취약점을 연구하는 비영리 단체다. ④가 옳다. ①②는 블록체인, ③은 양자 키 분배(QKD) 설명이다.
🔑 암기 — OWASP = 웹 보안 취약점 연구 비영리 단체.
문 089. 다음 내용이 설명하는 스토리지 시스템은?
- 하드디스크와 같은 데이터 저장장치를 호스트버스 어댑터에 직접 연결하는 방식이다.
- 저장장치와 호스트 기기 사이에 네트워크 디바이스가 있지 말아야 하고 직접 연결하는 방식으로 구성된다.
- ① DAS
- ② NAS
- ③ N-SCREEN
- ④ NFC
정답 및 해설 보기
정답 ①
저장장치를 호스트버스 어댑터에 직접 연결하고 중간에 네트워크 장비가 없는 방식이 DAS(Direct Attached Storage)다. NAS=네트워크 연결, N-SCREEN=멀티스크린, NFC=근거리 무선.
🔑 암기 — 직접 연결 스토리지 = DAS.
문 090. 다음 Java 코드에서 밑줄로 표시된 부분에는 어떤 보안 약점이 존재하는가?
public static void main(String[] args) {
int a = 5;
a = func(a);
}
static int func(int a) {
return a <= 5 ? func(a) : 3;
}
- ① 종료되지 않는 반복문 또는 재귀함수
- ② 널 포인터 역참조
- ③ 하드코드된 암호화 키 사용
- ④ 초기화되지 않은 변수 사용
정답 및 해설 보기
정답 ①
func(a)는 a=5일 때 a <= 5 조건이 항상 참이라 func(a)를 그대로 다시 부른다. a가 변하지 않아 종료 조건에 못 닿는 종료되지 않는 재귀함수 약점이다.
⚠️ 함정 — 인자가 안 바뀌면 재귀는 무한 반복된다.
문 091. 데이터의 송·수신 사실을 증명할 수 있도록 송·수신 증거를 제공해야 한다는 보안 요소는?
- ① 기밀성
- ② 무결성
- ③ 가용성
- ④ 부인 방지
정답 및 해설 보기
정답 ④
송·수신 사실을 증거로 증명해 나중에 부인하지 못하게 하는 보안 요소가 부인 방지(Non-repudiation)다. 기밀성=비밀 보호, 무결성=변조 방지, 가용성=접근 보장.
문 092. 개인키 암호화 기법으로 옳지 않은 것은?
- ① DES
- ② ARIA
- ③ SEED
- ④ RSA
정답 및 해설 보기
정답 ④
대칭키(개인키) 암호는 DES·ARIA·SEED·AES 등이다. ④ RSA는 공개키(비대칭키) 방식이라 성격이 다르다.
🔑 암기 — RSA = 공개키(대칭키 ✗).
문 093. 다음 내용이 설명하는 것은?
- 네트워크상에 광채널 스위치의 이점인 고속 전송과 장거리 연결 및 멀티 프로토콜 기능을 활용한다.
- 각기 다른 운영체제를 가진 여러 기종들이 네트워크상에서 동일 저장장치의 데이터를 공유하게 함으로써, 여러 개의 저장장치나 백업 장비를 단일화시킨 시스템이다.
- ① SAN
- ② MBR
- ③ NAC
- ④ NIC
정답 및 해설 보기
정답 ①
광채널 스위치 기반 고속·장거리 전송으로 여러 기종이 저장장치를 공유하고 백업 장비를 단일화한 시스템이 SAN(Storage Area Network)이다.
🔑 암기 — 광채널 저장 전용 네트워크 = SAN.
문 094. DES는 몇 비트의 암호화 알고리즘인가?
- ① 8
- ② 24
- ③ 64
- ④ 132
정답 및 해설 보기
정답 ③
DES는 64비트 블록 암호로, 키는 유효 56비트 + 패리티 8비트 = 64비트다.
🔑 암기 — DES = 64비트 블록·56비트 유효 키 / AES = 128·192·256비트 키.
문 095. 다음 중 병행수행으로 발생할 수 있는 문제점이 아닌 것은?
- ① 갱신 분실(Lost Update)
- ② 완료 의존성(Committed Dependency)
- ③ 모순성(Inconsistency)
- ④ 연쇄 복귀(Cascading Rollback)
정답 및 해설 보기
정답 ②
병행수행의 문제는 갱신 분실·비완료(Uncommitted) 의존성·모순성·연쇄 복귀다. ② 완료(Committed) 의존성은 이미 정상 완료된 것이라 문제가 아니다.
⚠️ 함정 — 문제는 '비완료' 의존성(완료 ✗).
문 096. 정보 보안을 위한 접근통제 정책 종류에 해당하지 않는 것은?
- ① 임의적 접근 통제
- ② 데이터 전환 접근 통제
- ③ 강제적 접근 통제
- ④ 역할 기반 접근 통제
정답 및 해설 보기
정답 ②
접근통제 정책은 임의적(DAC)·강제적(MAC)·역할 기반(RBAC) 3가지다. ② '데이터 전환 접근 통제'는 없는 용어다.
🔑 암기 — 접근통제 = DAC·MAC·RBAC.
문 097. OSI 7 Layer 전 계층의 프로토콜과 패킷 내부의 콘텐츠를 파악하여 침입 시도, 해킹 등을 탐지하고 트래픽을 조정하기 위한 패킷 분석 기술은?
- ① PLCP(Packet Level Control Processor)
- ② Traffic Distributor
- ③ Packet Tree
- ④ DPI(Deep Packet Inspection)
정답 및 해설 보기
정답 ④
OSI 전 계층의 프로토콜과 패킷 내부 콘텐츠까지 분석해 침입·해킹을 탐지하는 기술이 DPI(Deep Packet Inspection)다.
🔑 암기 — 패킷 심층 분석 = DPI.
문 098. 백도어 탐지 방법으로 틀린 것은?
- ① 무결성 검사
- ② 닫힌 포트 확인
- ③ 로그 분석
- ④ SetUID 파일 검사
정답 및 해설 보기
정답 ②
백도어 탐지는 열린 포트 확인으로 비정상 포트를 찾는다. ② '닫힌 포트 확인'은 탐지와 거리가 멀다. 무결성 검사·로그 분석·SetUID 파일 검사는 올바른 방법이다.
⚠️ 함정 — 열린 포트를 본다(닫힌 포트 ✗).
문 099. 강제 접근통제(MAC)의 보안 모델 중 서로 이해 충돌 관계에 있는 객체 간의 정보 접근을 통제하는 모델은?
- ① 벨 라파듈라 모델(Bell-LaPadula Model)
- ② 만리장성 모델(Chinese Wall Model)
- ③ 비바 무결성 모델(Biba Integrity Model)
- ④ 클락-윌슨 무결성 모델(Clark-Wilson Integrity Model)
정답 및 해설 보기
정답 ②
서로 이해 충돌 관계인 객체 간 정보 접근을 막는 모델이 만리장성 모델(Chinese Wall)이다. Bell-LaPadula=기밀성, Biba·Clark-Wilson=무결성.
🔑 암기 — 이해 충돌 차단 = 만리장성.
문 100. 다음 설명에 해당하는 비용산정 기법은?
- 조직 내에 있는 경험이 많은 두 명 이상의 전문가에게 비용 산정을 의뢰하는 기법이다.
- 가장 편리하고 신속하게 비용을 산정할 수 있으며, 의뢰자로부터 믿음을 얻을 수 있다.
- 개인적이고 주관적일 수 있다.
- ① 전문가 감정 기법
- ② 델파이 기법
- ③ LOC 기법
- ④ Putnam 모형
정답 및 해설 보기
정답 ①
경험 많은 전문가 2명 이상에게 비용 산정을 맡기는 기법이 전문가 감정 기법이다. 편리·신속하지만 주관적일 수 있다. 델파이=익명 합의, LOC=코드 라인 수, Putnam=시간-노력 모형.
⚠️ 함정 — 전문가 감정(주관적) ↔ 델파이(익명 합의로 주관 보완).
이 회차 한 장 요약
| 과목 | 빈출·핵심 토픽 | 다시 볼 문항 |
|---|---|---|
| Ⅰ 소프트웨어 설계 | SOLID(LSP)·설계 방향(하향식/상향식)·결합도(스탬프)·응집도·UML 다이어그램(행위/구조)·미들웨어(TP monitor·WAS·FEP)·UI 설계 도구(목업)·코드 설계 | 001·008·010·014·015·018·020 |
| Ⅱ 소프트웨어 개발 | 선택 정렬 PASS·후위 표기·퀵/셸 정렬·검증(알파/베타)·형상관리·DRM 요소·EAI 구축유형·ISO 25000·정적 분석·클린 코드 | 022·026·031·033·035·038·039 |
| Ⅲ 데이터베이스 구축 | DISTINCT 튜플 수·CASCADE·E-R 기호(속성=타원)·정규화(1NF/5NF)·3층 스키마·뷰 제약·로킹 단위·ACID(원자성)·시스템 카탈로그·DCL/DDL | 041·044·050·055·057·058 |
| Ⅳ 프로그래밍 언어 활용 | C 코드 추적(while·포인터·연산자)·Python for·ARP/ICMP·세마포어·UNIX 쉘/커널·결합도 순서·게이트웨이·변수명 규칙·순차 파일 | 063·065·072·073·079·080 |
| Ⅴ 정보시스템 구축관리 | 정보보안 공격(XSS·Ping of Death)·암호 분류(해시/대칭/공개키·DES)·접근통제(MAC·만리장성)·보안 3요소(CIA)·부인 방지·신기술(BaaS·SDS·DAS·SAN·DPI)·FP·전문가 감정·병행수행 문제 | 084·086·092·095·096·099 |
🎯 빈출 — 매 회차 단골: SOLID·결합도/응집도·UML 다이어그램·정규화·ACID·정보보안 공격 유형·대칭/비대칭키·접근통제 모델·코드 추적(C/Python).
⚠️ 함정 — '틀린 것/아닌 것' 고르기 다수(002·007·014·015·029·044·048·056·058·076·078·095·098), 반대로 서술(020 상향식·032 추상화·065 쉘↔커널), 유사 개념 교차(015 데이터↔스탬프 결합도·076 세그먼트↔프레임·095 완료↔비완료 의존성), 코드 한 글자(063·079·080).
🔑 핵심 두문자 — SOLID(SRP·OCP·LSP·ISP·DIP) · 결합도 낮→높 자스제외공내 · 트랜잭션 ACID · 접근통제 DAC·MAC·RBAC · FP 5요소(입력·출력·조회·내부파일·외부파일).
합격까지
정보처리기사, 약점 과목이 보이나요?
초개인화 학습앱 Klue로 틀린 유형을 집중 공략하고, 에듀윌 온라인강의로 개념까지 정리하세요.
