문제지 PDF · 웹 정답 해설
정보처리기사 필기 2026년 1회 CBT 편집복원 100문항
정보처리기사 필기 2026년 1회 CBT 편집복원 100문항을 과목별로 풀고 문항별 정답과 상세해설을 확인하세요.
© 자격증3001. 이 정보처리기사 필기 기출문제 게시물의 문제 재구성 문장, 해설, 재작성 도식, 편집 및 PDF 디자인은 자격증3001의 저작권 보호를 받습니다. 국가기술자격 시험 및 관련 명칭의 권리는 해당 기관에 있으며, 본 자료는 Q-Net 공식 문제지 또는 공식 해설이 아닙니다. 무단 복제·재배포를 금합니다.
정보처리기사 필기 2026년 1회 CBT 편집복원 100문항 안내
정보처리기사 필기 2026년 1회 CBT 편집복원 100문항을 과목별로 풀고 문항별 정답과 상세해설을 확인하세요.
각 문항의 정답은 아래 해설과 연결된 기술 표준·공식 문서·독립 계산으로 검증했습니다.
정보처리기사 전체 자료 · 정보처리기사 CBT 학습실 · Q-Net 정보처리기사 출제기준
정보처리기사 필기 기출문제 · 소프트웨어 설계
1. 설계 검토 회의에서 다음 항목을 판단한다. 정형 기술 검토(FTR)의 지침 사항으로 적절하지 않은 설명을 고르면?
- 문제 영역을 명확히 표현한다.
- 참가자의 수를 제한하고 사전 준비를 강요한다.
- 논쟁이나 반박을 제한하지 않는다.
- 제품의 검토에만 집중한다.
정답과 해설 보기
정답: 3
정답은 3번이다. FTR(정형 기술 검토)은 검토 시간을 정해두고 진행하므로 논쟁과 반박을 제한해야 한다. 결론이 나지 않는 사안은 기록만 하고 추후 별도로 해결한다.
선지별 해설
- 1번 ‘문제 영역을 명확히 표현한다.’는 선택 조건과 다르다. 타당한 지침. 문제 영역을 명확히 표현해야 검토가 실효를 갖는다.
- 2번 ‘참가자의 수를 제한하고 사전 준비를 강요한다.’는 선택 조건과 다르다. 타당한 지침. 참가자 수를 제한하고 사전 준비를 요구해 검토 효율을 높인다.
- 3번은 정답 선지다. 부적절한 지침이므로 문항 조건에 부합한다. 논쟁·반박은 제한하고 의제를 유지해야 한다.
- 4번 ‘제품의 검토에만 집중한다.’는 선택 조건과 다르다. 타당한 지침. 개발자(사람)가 아니라 산출물(제품) 자체만 검토 대상으로 삼는다.
정답 판정: 정답 판정: 정답은 3번이다. FTR(정형 기술 검토)은 검토 시간을 정해두고 진행하므로 논쟁과 반박을 제한해야 한다. 결론이 나지 않는 사안은 기록만 하고 추후 별도로 해결한다. 검증 기준: 논쟁이나 반박을 제한하지 않는다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 기술 검토는 산출물과 결함에 집중하고 제한된 회의에서 논쟁을 장기화하지 않는 공식 검토 활동이다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: Software Quality KA §3.2 Reviews and Audits
판정 연결: 기술 검토는 산출물과 결함에 집중하고 제한된 회의에서 논쟁을 장기화하지 않는 공식 검토 활동이다.
2. 설계 검토 회의에서 다음 항목을 판단한다. 유스케이스 다이어그램의 기본 구성요소에 포함되지 않는 것을 고르면?
- 시스템(System)
- 클래스(Class)
- 유스케이스(Usecase)
- 액터(Actor)
정답과 해설 보기
정답: 2
정답은 2번이다. 클래스(Class)는 클래스 다이어그램의 구성요소이며, 유스케이스 다이어그램의 구성요소가 아니다.
선지별 해설
- 1번 ‘시스템(System)’는 선택 조건과 다르다. 시스템(시스템 경계)은 유스케이스가 포함되는 범위를 표시하는 구성요소다.
- 2번은 정답 선지다. 클래스는 정적 구조를 표현하는 요소로 유스케이스 다이어그램에 속하지 않아 정답으로 판정된다.
- 3번 ‘유스케이스(Usecase)’는 선택 조건과 다르다. 유스케이스는 시스템이 제공하는 기능 단위로, 다이어그램의 핵심 구성요소다.
- 4번 ‘액터(Actor)’는 선택 조건과 다르다. 액터는 시스템과 상호작용하는 사용자나 외부 시스템을 나타내는 구성요소다.
정답 판정: 정답 판정: 정답은 2번이다. 클래스(Class)는 클래스 다이어그램의 구성요소이며, 유스케이스 다이어그램의 구성요소가 아니다. 검증 기준: 클래스(Class)의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 액터·유스케이스·시스템 경계는 유스케이스 표현에 쓰이고 클래스는 별도 구조 모델 요소다.
- OMG UML 2.5.1 specification
확인 위치: UML 2.5.1 §18 UseCases and §11 Classes
판정 연결: 액터·유스케이스·시스템 경계는 유스케이스 표현에 쓰이고 클래스는 별도 구조 모델 요소다.
3. 설계 검토 회의에서 다음 항목을 판단한다. User Interface 설계 시 오류 메시지나 경고에 관한 지침으로 관련성이 가장 낮은 방침을 고르면?
- 소리나 색의 사용을 줄이고 텍스트로만 전달하도록 한다.
- 메시지는 이해하기 쉬워야 한다.
- 오류로부터 회복을 위한 구체적인 설명이 제공되어야 한다.
- 오류로 인해 발생할 수 있는 부정적인 내용을 적극적으로 사용자들에게 알려야 한다.
정답과 해설 보기
정답: 1
정답은 1번이다. 오류 메시지는 텍스트뿐 아니라 소리·색상·아이콘 등 다양한 수단을 함께 활용해 사용자가 오류를 즉시 인지하도록 해야 한다.
선지별 해설
- 1번은 정답 선지다. 텍스트로만 전달하도록 제한하는 것은 지침에 어긋나므로 정답으로 판정된다.
- 2번 ‘메시지는 이해하기 쉬워야 한다.’는 선택 조건과 다르다. 타당한 지침. 사용자 수준에 맞는 쉬운 표현을 사용해야 한다.
- 3번 ‘오류로부터 회복을 위한 구체적인 설명이 제공되어야 한다.’는 선택 조건과 다르다. 타당한 지침. 오류에서 회복하는 구체적 방법을 제시해야 한다.
- 4번 ‘오류로 인해 발생할 수 있는 부정적인 내용을 적극적으로 사용자들에게 알려야 한다.’는 선택 조건과 다르다. 타당한 지침. 오류가 초래할 부정적 결과를 알려 사용자가 판단할 수 있게 한다.
정답 판정: 정답 판정: 정답은 1번이다. 오류 메시지는 텍스트뿐 아니라 소리·색상·아이콘 등 다양한 수단을 함께 활용해 사용자가 오류를 즉시 인지하도록 해야 한다. 검증 기준: 소리나 색의 사용을 줄이고 텍스트로만 전달하도록 한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 오류는 텍스트로 식별하되 색 하나에만 의존하지 말아야 하므로 여러 단서를 함께 쓰는 것이 타당하다.
- W3C WCAG 2.2 — Error Identification and Use of Color
확인 위치: WCAG 2.2 SC 3.3.1 Error Identification; SC 1.4.1 Use of Color
판정 연결: 오류는 텍스트로 식별하되 색 하나에만 의존하지 말아야 하므로 여러 단서를 함께 쓰는 것이 타당하다.
4. 설계 검토 회의에서 다음 항목을 판단한다. 파이프 필터 형태의 소프트웨어 아키텍처에 대한 기술로 타당한 설명을 고르면?
- 노드와 간선으로 구성된다.
- 서브시스템이 입력 데이터를 받아 처리하고, 결과를 다음 서브시스템으로 넘겨주는 과정을 반복한다.
- 계층 모델이라고도 한다.
- 3개의 서브 시스템(모델, 뷰, 제어)으로 구성되어 있다.
정답과 해설 보기
정답: 2
정답은 2번이다. 파이프-필터 구조는 필터(서브시스템)가 입력 데이터를 처리해 다음 필터로 넘기는 과정을 반복한다.
선지별 해설
- 1번 ‘노드와 간선으로 구성된다.’는 선택 조건과 다르다. 노드와 간선 구성은 그래프/네트워크 구조 설명이다.
- 2번은 정답 선지다. 파이프-필터 아키텍처에 대한 정확한 설명이다.
- 3번 ‘계층 모델이라고도 한다.’는 선택 조건과 다르다. 계층 모델은 별도의 아키텍처 스타일이다.
- 4번 ‘3개의 서브 시스템(모델, 뷰, 제어)으로 구성되어 있다.’는 선택 조건과 다르다. 모델/뷰/제어 3요소는 MVC 패턴 설명이다.
정답 판정: 정답 판정: 정답은 2번이다. 파이프-필터 구조는 필터(서브시스템)가 입력 데이터를 처리해 다음 필터로 넘기는 과정을 반복한다. 검증 기준: 서브시스템이 입력 데이터를 받아 처리하고, 결과를 다음 서브시스템으로 넘겨주는 과정을 반복한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 필터가 입력을 변환하고 파이프를 통해 다음 필터로 전달하는 연속 처리 구조가 핵심이다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: Software Architecture KA §2.2 Architecture Styles — Pipe and Filter
판정 연결: 필터가 입력을 변환하고 파이프를 통해 다음 필터로 전달하는 연속 처리 구조가 핵심이다.
5. 설계 검토 회의에서 다음 항목을 판단한다. CASE가 갖고 있는 주요 기능이 해당하지 않는 것을 고르면?
- 소프트웨어 생명주기 전 단계의 연결
- 언어 번역
- 다양한 소프트웨어 개발 모형 지원
- 그래픽 지원
정답과 해설 보기
정답: 2
정답은 2번이다. 언어번역(컴파일)은 컴파일러의 기능이지 CASE 도구의 주요 기능이 아니다.
선지별 해설
- 1번 ‘소프트웨어 생명주기 전 단계의 연결’는 선택 조건과 다르다. 생명주기 전 단계 연결은 CASE의 기능이다.
- 2번은 정답 선지다. 언어번역은 CASE 기능이 아니므로 정답으로 판정된다.
- 3번 ‘다양한 소프트웨어 개발 모형 지원’는 선택 조건과 다르다. 다양한 개발 모형 지원은 CASE 기능이다.
- 4번 ‘그래픽 지원’는 선택 조건과 다르다. 그래픽 지원은 CASE의 주요 기능이다.
정답 판정: 정답 판정: 정답은 2번이다. 언어번역(컴파일)은 컴파일러의 기능이지 CASE 도구의 주요 기능이 아니다. 검증 기준: 언어 번역의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: CASE 도구는 생명주기 모델링·추적·설계 자동화를 지원하며 언어 번역은 컴파일러의 직접 기능이다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: Software Engineering Models and Methods KA §4 Tools
판정 연결: CASE 도구는 생명주기 모델링·추적·설계 자동화를 지원하며 언어 번역은 컴파일러의 직접 기능이다.
6. 설계 검토 회의에서 다음 항목을 판단한다. 다음에서 설명하는 응집도의 유형은 어떤 용어인가? 모듈 안의 구성 요소들이 같은 입력 자료를 사용하거나 같은 출력 자료를 만들어 내는 형태이다. 자료를 매개로 묶여 있을 뿐, 각 기능의 실행 순서나 실행 시점은 서로 무관하다.
- 시간적 응집도
- 교환적 응집도
- 논리적 응집도
- 절차적 응집도
정답과 해설 보기
정답: 2
정답은 2번이다. 모듈 내부의 구성 요소들이 같은 입력 자료를 사용하거나 같은 출력 자료를 만들어 내는 형태는 교환적(통신적) 응집도다. 자료를 공유할 뿐 실행 순서나 시점은 서로 무관하다는 설명이 결정적 단서다.
선지별 해설
- 1번 ‘시간적 응집도’는 선택 조건과 다르다. 시간적 응집도는 초기화 모듈처럼 특정 시점에 함께 실행되어야 하는 기능을 묶은 형태로, 시점이 기준이다.
- 2번은 정답 선지다. 같은 입력 자료 또는 같은 출력 자료를 공유한다는 점이 교환적 응집도의 정의와 정확히 일치하므로 정답으로 판정된다.
- 3번 ‘논리적 응집도’는 선택 조건과 다르다. 논리적 응집도는 비슷한 성격의 기능들을 하나로 묶어 두고 매개변수(플래그)로 어떤 기능을 수행할지 고르는 형태로, 자료 공유가 기준이 아니다.
- 4번 ‘절차적 응집도’는 선택 조건과 다르다. 절차적 응집도는 구성 요소들이 정해진 순서대로 실행되는 형태다. 지문은 실행 순서가 무관하다고 했으므로 배제된다.
정답 판정: 정답 판정: 정답은 2번이다. 모듈 내부의 구성 요소들이 같은 입력 자료를 사용하거나 같은 출력 자료를 만들어 내는 형태는 교환적(통신적) 응집도다. 자료를 공유할 뿐 실행 순서나 시점은 서로 무관하다는 설명이 결정적 단서다. 검증 기준: 교환적 응집도의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 같은 입력이나 출력을 공유하는 모듈 요소의 결속은 communicational cohesion으로 구분한다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: Software Design KA §2.1 Abstraction, coupling and cohesion
판정 연결: 같은 입력이나 출력을 공유하는 모듈 요소의 결속은 communicational cohesion으로 구분한다.
7. 설계 검토 회의에서 다음 항목을 판단한다. 모듈 내부 요소 간의 관련성을 무엇이라고 하는가?
- chaining
- cohesion
- coupling
- method
정답과 해설 보기
정답: 2
정답은 2번이다. 모듈 내부 구성 요소들이 서로 얼마나 밀접하게 관련되어 있는지를 나타내는 척도는 응집도(cohesion)다.
선지별 해설
- 1번 ‘chaining’는 선택 조건과 다르다. chaining은 호출을 연쇄적으로 이어 붙이는 기법으로 모듈 관련성 척도가 아니다.
- 2번은 정답 선지다. cohesion(응집도)은 모듈 내부 요소 간의 관련성 정도이어서 선택해야 한다.
- 3번 ‘coupling’는 선택 조건과 다르다. coupling(결합도)은 모듈 사이의 상호 의존 정도로, 내부가 아니라 모듈 간 관계다.
- 4번 ‘method’는 선택 조건과 다르다. method는 객체지향에서 객체가 수행하는 연산(함수)을 뜻한다.
정답 판정: 정답 판정: 정답은 2번이다. 모듈 내부 구성 요소들이 서로 얼마나 밀접하게 관련되어 있는지를 나타내는 척도는 응집도(cohesion)다. 검증 기준: cohesion의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: cohesion은 한 모듈 내부 요소의 관련성이고 coupling은 서로 다른 모듈 사이 의존성이다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: Software Design KA §2 Design Principles
판정 연결: cohesion은 한 모듈 내부 요소의 관련성이고 coupling은 서로 다른 모듈 사이 의존성이다.
8. 설계 검토 회의에서 다음 항목을 판단한다. 애자일(Agile) 프로세스 모델에 대한 기술로 적절하지 않은 설명을 고르면?
- 변화에 대한 대응보다는 자세한 계획을 중심으로 소프트웨어를 개발한다.
- 프로세스와 도구 중심이 아닌 개개인과의 상호 소통을 통해 의견을 수렴한다.
- 협상과 계약보다는 고객과의 협력을 중시한다.
- 문서 중심이 아닌, 실행 가능한 소프트웨어를 중시한다.
정답과 해설 보기
정답: 1
정답은 1번이다. 애자일은 자세한 계획보다 변화에 대한 대응을 중시한다.
선지별 해설
- 1번은 정답 선지다. 계획 중심이라는 설명은 애자일 선언에 반대되므로 부적절하다.
- 2번 ‘프로세스와 도구 중심이 아닌 개개인과의 상호 소통을 통해 의견을 수렴한다.’는 선택 조건과 다르다. 개인과 상호작용을 중시하는 것이 맞다.
- 3번 ‘협상과 계약보다는 고객과의 협력을 중시한다.’는 선택 조건과 다르다. 고객과의 협력을 중시하는 것이 맞다.
- 4번 ‘문서 중심이 아닌, 실행 가능한 소프트웨어를 중시한다.’는 선택 조건과 다르다. 작동하는 소프트웨어를 중시하는 것이 맞다.
정답 판정: 정답 판정: 정답은 1번이다. 애자일은 자세한 계획보다 변화에 대한 대응을 중시한다. 검증 기준: 변화에 대한 대응보다는 자세한 계획을 중심으로 소프트웨어를 개발한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 애자일 선언은 계획 준수보다 변화 대응, 도구보다 상호작용, 계약보다 협력, 문서보다 작동 소프트웨어에 더 높은 가치를 둔다.
- Manifesto for Agile Software Development
확인 위치: Four values of the Manifesto
판정 연결: 애자일 선언은 계획 준수보다 변화 대응, 도구보다 상호작용, 계약보다 협력, 문서보다 작동 소프트웨어에 더 높은 가치를 둔다.
9. 설계 검토 회의에서 다음 항목을 판단한다. 다음 중 객체에게 어떤 행위를 하도록 지시하는 방법은 어떤 용어인가?
- Method
- Message
- Instance
- Object
정답과 해설 보기
정답: 2
정답은 2번이다. 객체에게 어떤 행위를 수행하도록 요구하는 수단은 메시지(Message)다. 객체는 메시지를 받아 자신의 메소드를 실행한다.
선지별 해설
- 1번 ‘Method’는 선택 조건과 다르다. Method는 메시지를 받았을 때 실제로 수행되는 연산 코드다.
- 2번은 정답 선지다. Message는 객체 간 통신 수단으로 행위를 지시하므로 정답으로 판정된다.
- 3번 ‘Instance’는 선택 조건과 다르다. Instance는 클래스로부터 생성된 구체적 객체를 뜻한다.
- 4번 ‘Object’는 선택 조건과 다르다. Object는 데이터와 메소드를 함께 갖는 실체이지 행위를 지시하는 수단이 아니다.
정답 판정: 정답 판정: 정답은 2번이다. 객체에게 어떤 행위를 수행하도록 요구하는 수단은 메시지(Message)다. 객체는 메시지를 받아 자신의 메소드를 실행한다. 검증 기준: Message의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 메시지는 객체 간 상호작용에서 수신 객체에 동작 수행을 요청하는 통신 요소다.
- OMG UML 2.5.1 specification
확인 위치: UML 2.5.1 §17.4 Messages
판정 연결: 메시지는 객체 간 상호작용에서 수신 객체에 동작 수행을 요청하는 통신 요소다.
10. 설계 검토 회의에서 다음 항목을 판단한다. 다음에서 설명하는 디자인 패턴의 유형은? 객체의 자료 구조와 그 구조에 가해지는 처리 기능을 분리하여 별도의 클래스로 정의한다. 처리 기능을 담은 객체를 구조의 각 원소에 전달하는 방식이라, 기존 클래스를 수정하지 않고 새로운 연산을 추가할 수 있다.
- Command
- Strategy
- Visitor
- State
정답과 해설 보기
정답: 3
정답은 3번이다. 자료 구조와 그 구조에 가해지는 처리 기능을 분리해 별도 클래스로 정의하고, 처리 객체를 구조의 각 원소에 전달하는 패턴은 방문자(Visitor) 패턴이다.
선지별 해설
- 1번 ‘Command’는 선택 조건과 다르다. Command는 요청 자체를 객체로 캡슐화해 실행 취소나 큐잉을 가능하게 하는 패턴이다.
- 2번 ‘Strategy’는 선택 조건과 다르다. Strategy는 교체 가능한 알고리즘군을 캡슐화해 런타임에 바꿔 쓰는 패턴으로, 구조 원소 순회 개념이 없다.
- 3번은 정답 선지다. 연산을 Visitor 클래스로 분리해 기존 원소 클래스를 수정하지 않고 새 연산을 추가하므로 지문과 일치한다. 문항 조건에 부합한다.
- 4번 ‘State’는 선택 조건과 다르다. State는 객체의 내부 상태에 따라 동작이 달라지도록 상태를 클래스로 분리하는 패턴으로, 자료 구조 순회와는 무관하다.
정답 판정: 정답 판정: 정답은 3번이다. 자료 구조와 그 구조에 가해지는 처리 기능을 분리해 별도 클래스로 정의하고, 처리 객체를 구조의 각 원소에 전달하는 패턴은 방문자(Visitor) 패턴이다. 검증 기준: Visitor의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: Visitor는 객체 구조와 그 원소에 적용할 연산을 분리해 새 연산 추가를 쉽게 하는 행위 패턴이다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: Software Design KA §5.3 Design Patterns — Visitor
판정 연결: Visitor는 객체 구조와 그 원소에 적용할 연산을 분리해 새 연산 추가를 쉽게 하는 행위 패턴이다.
11. 설계 검토 회의에서 다음 항목을 판단한다. 간접 연계 방식의 특징으로 틀린 설명을 고르면?
- 구성이 단순하며 중간 시스템 장애의 영향을 받지 않는다.
- 서로 다른 시스템 사이에 연계 솔루션이나 중계 서버를 둔다.
- 직접 연계보다 연계 절차가 복잡할 수 있다.
- 중간 처리로 인해 성능 저하가 발생할 수 있다.
정답과 해설 보기
정답: 1
정답은 1번이다. 간접 연계는 중계 서버나 연계 솔루션을 거치므로 구성이 단순하지 않고, 중간 시스템에 장애가 나면 연계 전체가 영향을 받는다.
선지별 해설
- 1번은 정답 선지다. 단순한 구성과 장애 무영향은 사실이 아니므로 정답으로 판정된다.
- 2번 ‘서로 다른 시스템 사이에 연계 솔루션이나 중계 서버를 둔다.’는 선택 조건과 다르다. 타당한 설명. 간접 연계의 정의 자체가 중간에 연계 솔루션·중계 서버를 두는 방식이다.
- 3번 ‘직접 연계보다 연계 절차가 복잡할 수 있다.’는 선택 조건과 다르다. 타당한 설명. 중간 매개체가 있어 직접 연계보다 절차와 구성이 복잡하다.
- 4번 ‘중간 처리로 인해 성능 저하가 발생할 수 있다.’는 선택 조건과 다르다. 타당한 설명. 변환·중계 과정이 추가되어 성능 저하가 생길 수 있다.
정답 판정: 정답 판정: 정답은 1번이다. 간접 연계는 중계 서버나 연계 솔루션을 거치므로 구성이 단순하지 않고, 중간 시스템에 장애가 나면 연계 전체가 영향을 받는다. 검증 기준: 구성이 단순하며 중간 시스템 장애의 영향을 받지 않는다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 중계 계층을 둔 간접 연계는 결합을 낮출 수 있지만 구성 요소와 장애 지점이 늘어 단순하다고 단정할 수 없다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: Software Construction KA §4.2 APIs and integration
판정 연결: 중계 계층을 둔 간접 연계는 결합을 낮출 수 있지만 구성 요소와 장애 지점이 늘어 단순하다고 단정할 수 없다.
12. 설계 검토 회의에서 다음 항목을 판단한다. 애자일 기법 중 스크럼(Scrum)과 관련된 용어에 대한 기술로 적절하지 않은 설명을 고르면?
- 스크럼 마스터(Scrum Master)는 스크럼 프로세스를 따르고, 팀이 스크럼을 효과적으로 활용할 수 있도록 보장하는 역할 등을 맡는다.
- 제품 백로그(Product Backlog)는 스크럼 팀이 해결해야 하는 목록으로 소프트웨어 요구사항, 아키텍처 정의 등이 포함될 수 있다.
- 스프린트(Sprint)는 하나의 완성된 최종 결과물을 만들기 위한 주기로 3달 이상의 장기간으로 결정된다.
- 속도(Velocity)는 한 번의 스프린트에서 한 팀이 어느 정도의 제품 백로그를 감당할 수 있는지에 대한 추정치로 볼 수 있다.
정답과 해설 보기
정답: 3
정답은 3번이다. 스프린트는 보통 2~4주(최대 1개월) 단위의 짧은 반복 주기이며, 3달 이상의 장기간으로 잡지 않는다.
선지별 해설
- 1번 ‘스크럼 마스터(Scrum Master)는 스크럼 프로세스를 따르고, 팀이 스크럼을 효과적으로 활용할 수 있도록 보장하는 역할 등을 맡는다.’는 선택 조건과 다르다. 타당한 설명. 스크럼 마스터는 프로세스 준수를 돕고 장애 요소를 제거하는 조력자 역할이다.
- 2번 ‘제품 백로그(Product Backlog)는 스크럼 팀이 해결해야 하는 목록으로 소프트웨어 요구사항, 아키텍처 정의 등이 포함될 수 있다.’는 선택 조건과 다르다. 타당한 설명. 제품 백로그는 요구사항·기능·아키텍처 항목을 우선순위로 정리한 목록이다.
- 3번은 정답 선지다. 스프린트 기간을 3달 이상으로 규정한 점이 틀렸으므로 정답으로 판정된다.
- 4번 ‘속도(Velocity)는 한 번의 스프린트에서 한 팀이 어느 정도의 제품 백로그를 감당할 수 있는지에 대한 추정치로 볼 수 있다.’는 선택 조건과 다르다. 타당한 설명. 속도(Velocity)는 한 스프린트에서 팀이 처리 가능한 작업량 추정치다.
정답 판정: 정답 판정: 정답은 3번이다. 스프린트는 보통 2~4주(최대 1개월) 단위의 짧은 반복 주기이며, 3달 이상의 장기간으로 잡지 않는다. 검증 기준: 스프린트(Sprint)는 하나의 완성된 최종 결과물을 만들기 위한 주기로 3달 이상의 장기간으로 결정된다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 스프린트는 한 달 이하의 고정 길이이며 석 달 이상의 장기 주기라는 설명은 Scrum Guide와 다르다.
- The Scrum Guide 2020
확인 위치: Scrum Team, Product Backlog, Sprint and Velocity
판정 연결: 스프린트는 한 달 이하의 고정 길이이며 석 달 이상의 장기 주기라는 설명은 Scrum Guide와 다르다.
13. 설계 검토 회의에서 다음 항목을 판단한다. 현행 시스템 파악 절차의 조사 항목으로 보기 어려운 것은?
- 기능 현황
- 인터페이스 현황
- 신규 시스템 사용자 교육 일정
- 시스템 구성 현황
정답과 해설 보기
정답: 3
정답은 3번이다. 현행 시스템 파악은 기존 시스템의 현재 상태를 조사하는 단계이므로, 신규 시스템 도입 이후의 사용자 교육 일정은 조사 항목이 아니다.
선지별 해설
- 1번 ‘기능 현황’는 선택 조건과 다르다. 기능 현황은 각 시스템이 제공하는 단위 기능을 파악하는 항목이다.
- 2번 ‘인터페이스 현황’는 선택 조건과 다르다. 인터페이스 현황은 시스템 간 주고받는 데이터의 형식·연계 방식을 파악하는 항목이다.
- 3번은 정답 선지다. 신규 시스템 교육 일정은 도입·전환 계획에 속하므로 현행 시스템 조사 항목이 아니어서 정답으로 판정된다.
- 4번 ‘시스템 구성 현황’는 선택 조건과 다르다. 시스템 구성 현황은 조직 내 업무 단위별 시스템 구성을 파악하는 항목이다.
정답 판정: 정답 판정: 정답은 3번이다. 현행 시스템 파악은 기존 시스템의 현재 상태를 조사하는 단계이므로, 신규 시스템 도입 이후의 사용자 교육 일정은 조사 항목이 아니다. 검증 기준: 신규 시스템 사용자 교육 일정의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 현행 시스템 파악은 기능·구성·인터페이스를 조사하며 신규 시스템 교육 일정은 구축 이후 계획에 가깝다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: Software Requirements KA §2 Requirements Elicitation — existing systems
판정 연결: 현행 시스템 파악은 기능·구성·인터페이스를 조사하며 신규 시스템 교육 일정은 구축 이후 계획에 가깝다.
14. 설계 검토 회의에서 다음 항목을 판단한다. 요구사항 검증에서 소프트웨어가 사용자의 실제 요구를 충족하는지를 나타내는 품질 특성은?
- 이식성(Portability)
- 상호운용성(Interoperability)
- 유효성(Validity)
- 유연성(Flexibility)
정답과 해설 보기
정답: 3
정답은 3번이다. 유효성(Validity)은 요구사항이 사용자가 실제로 필요로 하는 바를 정확히 반영하고 있는지를 확인하는 특성이다.
선지별 해설
- 1번 ‘이식성(Portability)’는 선택 조건과 다르다. 이식성은 다른 하드웨어·플랫폼 환경으로 옮겨 실행할 수 있는 정도다.
- 2번 ‘상호운용성(Interoperability)’는 선택 조건과 다르다. 상호운용성은 다른 시스템과 정보를 교환하고 함께 동작하는 능력이다.
- 3번은 정답 선지다. 실제 요구 충족 여부를 나타내는 특성이어서 선택해야 한다.
- 4번 ‘유연성(Flexibility)’는 선택 조건과 다르다. 유연성은 변경 요구에 얼마나 쉽게 대응할 수 있는지를 뜻한다.
정답 판정: 정답 판정: 정답은 3번이다. 유효성(Validity)은 요구사항이 사용자가 실제로 필요로 하는 바를 정확히 반영하고 있는지를 확인하는 특성이다. 검증 기준: 유효성(Validity)의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: validation은 만들어진 소프트웨어가 사용자와 이해관계자의 실제 요구를 충족하는지 확인한다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: Software Testing KA §2.2 Objectives of Testing; validation
판정 연결: validation은 만들어진 소프트웨어가 사용자와 이해관계자의 실제 요구를 충족하는지 확인한다.
15. 설계 검토 회의에서 다음 항목을 판단한다. UML 다이어그램 중 행위 다이어그램이 해당하지 않는 것을 고르면?
- 클래스 다이어그램
- 활동 다이어그램
- 상태 다이어그램
- 시퀀스 다이어그램
정답과 해설 보기
정답: 1
정답은 1번이다. 클래스 다이어그램은 시스템의 정적 구조를 표현하는 구조(Structural) 다이어그램이므로 행위 다이어그램이 아니다.
선지별 해설
- 1번은 정답 선지다. 클래스 다이어그램은 구조 다이어그램에 속하므로 정답으로 판정된다.
- 2번 ‘활동 다이어그램’는 선택 조건과 다르다. 활동 다이어그램은 처리 흐름과 제어 흐름을 표현하는 행위 다이어그램이다.
- 3번 ‘상태 다이어그램’는 선택 조건과 다르다. 상태 다이어그램은 객체의 상태 변화를 표현하는 행위 다이어그램이다.
- 4번 ‘시퀀스 다이어그램’는 선택 조건과 다르다. 시퀀스 다이어그램은 객체 간 메시지 교환을 시간 순으로 표현하는 행위(상호작용) 다이어그램이다.
정답 판정: 정답 판정: 정답은 1번이다. 클래스 다이어그램은 시스템의 정적 구조를 표현하는 구조(Structural) 다이어그램이므로 행위 다이어그램이 아니다. 검증 기준: 클래스 다이어그램의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: Class는 구조 다이어그램이고 Activity·State Machine·Sequence는 동작 다이어그램군에 속한다.
- OMG — What is UML?
확인 위치: Structural UML diagrams and Behavioral UML diagrams
판정 연결: Class는 구조 다이어그램이고 Activity·State Machine·Sequence는 동작 다이어그램군에 속한다.
16. 설계 검토 회의에서 다음 항목을 판단한다. 객체지향 설계에서 정보 은닉의 효과로 틀린 설명을 고르면?
- 변경의 파급 효과를 줄인다.
- 모듈의 독립성을 높인다.
- 유지보수성을 높인다.
- 모듈 간 결합도를 높인다.
정답과 해설 보기
정답: 4
정답은 4번이다. 정보 은닉은 모듈 내부 구현을 감추어 모듈 간 결합도를 낮추는 기법이므로, 결합도를 높인다는 설명은 부적절하다.
선지별 해설
- 1번 ‘변경의 파급 효과를 줄인다.’는 선택 조건과 다르다. 타당한 효과. 내부 구현이 감춰져 변경이 다른 모듈로 전파되는 범위가 줄어든다.
- 2번 ‘모듈의 독립성을 높인다.’는 선택 조건과 다르다. 타당한 효과. 인터페이스로만 소통하므로 모듈 독립성이 높아진다.
- 3번 ‘유지보수성을 높인다.’는 선택 조건과 다르다. 타당한 효과. 영향 범위가 작아 수정과 확장이 쉬워진다.
- 4번은 정답 선지다. 정보 은닉의 목적과 정반대이어서 선택해야 한다.
정답 판정: 정답 판정: 정답은 4번이다. 정보 은닉은 모듈 내부 구현을 감추어 모듈 간 결합도를 낮추는 기법이므로, 결합도를 높인다는 설명은 부적절하다. 검증 기준: 모듈 간 결합도를 높인다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 정보 은닉은 변경 영향을 모듈 내부에 가두어 결합도를 낮추고 독립성과 유지보수성을 높인다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: Engineering Foundations KA §3 Abstraction and Encapsulation
판정 연결: 정보 은닉은 변경 영향을 모듈 내부에 가두어 결합도를 낮추고 독립성과 유지보수성을 높인다.
17. 설계 검토 회의에서 다음 항목을 판단한다. GoF 디자인 패턴 중 행위 패턴이 해당하지 않는 것을 고르면?
- Observer
- Command
- Proxy
- Strategy
정답과 해설 보기
정답: 3
정답은 3번이다. Proxy는 대상 객체에 대한 접근을 대리 객체가 제어하는 구조(Structural) 패턴이므로 행위 패턴이 아니다.
선지별 해설
- 1번 ‘Observer’는 선택 조건과 다르다. Observer는 상태 변화를 구독자에게 통지하는 행위 패턴이다.
- 2번 ‘Command’는 선택 조건과 다르다. Command는 요청을 객체로 캡슐화하는 행위 패턴이다.
- 3번은 정답 선지다. Proxy는 구조 패턴이어서 선택해야 한다.
- 4번 ‘Strategy’는 선택 조건과 다르다. Strategy는 알고리즘을 캡슐화해 교체 가능하게 하는 행위 패턴이다.
정답 판정: 정답 판정: 정답은 3번이다. Proxy는 대상 객체에 대한 접근을 대리 객체가 제어하는 구조(Structural) 패턴이므로 행위 패턴이 아니다. 검증 기준: Proxy의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: Observer·Command·Strategy는 행위 패턴이고 Proxy는 구조 패턴으로 분류된다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: Software Design KA §5.3 Design Patterns
판정 연결: Observer·Command·Strategy는 행위 패턴이고 Proxy는 구조 패턴으로 분류된다.
18. 설계 검토 회의에서 다음 항목을 판단한다. 다음 중 CPM(Critical Path Method)에 대한 기술로 적절하지 않은 설명을 고르면?
- 모든 자원 제약사항을 배제한 상태로 프로젝트의 시작과 끝을 나타내는 노드(Node)와 노드 간의 연결을 통해 공정을 계산하기 위한 액티비티(Activity) 표기법이다.
- 낙관치, 비관치 등 통계적 기법을 사용하여 프로젝트 일정의 불확실성을 시뮬레이션하는 데 유리하다.
- 각 작업의 수행 시간이 고정되어 있다고 가정하는 확정적(Deterministic) 모델이다.
- 프로젝트를 완료하기 위한 최소 기간을 결정하는 최장 경로(Critical Path)를 산출한다.
정답과 해설 보기
정답: 2
정답은 2번이다. 낙관치·비관치·기대치를 사용해 일정의 불확실성을 확률적으로 다루는 기법은 CPM이 아니라 PERT다.
선지별 해설
- 1번 ‘모든 자원 제약사항을 배제한 상태로 프로젝트의 시작과 끝을 나타내는 노드(Node)와 노드 간의 연결을 통해 공정을 계산하기 위한 액티비티(Activity) 표기법이다.’는 선택 조건과 다르다. 타당한 설명. CPM 네트워크는 노드와 연결선으로 작업 순서와 공정을 표현한다.
- 2번은 정답 선지다. 확률적 3점 추정은 PERT의 특징이므로 CPM 설명으로는 틀려 정답으로 판정된다.
- 3번 ‘각 작업의 수행 시간이 고정되어 있다고 가정하는 확정적(Deterministic) 모델이다.’는 선택 조건과 다르다. 타당한 설명. CPM은 작업 소요 시간을 하나의 값으로 확정해 계산하는 결정적 모델이다.
- 4번 ‘프로젝트를 완료하기 위한 최소 기간을 결정하는 최장 경로(Critical Path)를 산출한다.’는 선택 조건과 다르다. 타당한 설명. 임계 경로(최장 경로)의 길이가 곧 프로젝트 최소 완료 기간이 된다.
정답 판정: 정답 판정: 정답은 2번이다. 낙관치·비관치·기대치를 사용해 일정의 불확실성을 확률적으로 다루는 기법은 CPM이 아니라 PERT다. 검증 기준: 낙관치, 비관치 등 통계적 기법을 사용하여 프로젝트 일정의 불확실성을 시뮬레이션하는 데 유리하다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: CPM은 활동 기간을 이용해 최장 경로를 찾으며 낙관·비관 확률 추정은 PERT 계열 설명이다.
- U.S. GAO Schedule Assessment Guide
확인 위치: Best Practice 6 — critical path and deterministic durations
판정 연결: CPM은 활동 기간을 이용해 최장 경로를 찾으며 낙관·비관 확률 추정은 PERT 계열 설명이다.
19. 설계 검토 회의에서 다음 항목을 판단한다. 다음 중 애자일 기법이 해당하지 않는 것을 고르면?
- spice
- xp
- crystal
- scrum
정답과 해설 보기
정답: 1
정답은 1번이다. SPICE는 소프트웨어 프로세스의 능력·성숙도를 심사·평가하기 위한 국제 표준 모델이지 애자일 개발 방법론이 아니다.
선지별 해설
- 1번은 정답 선지다. SPICE는 프로세스 능력 수준(0~5단계)을 평가하는 심사 표준으로, 개발 방법론이 아니므로 정답으로 판정된다.
- 2번 ‘xp’는 선택 조건과 다르다. XP(eXtreme Programming)는 짧은 릴리스, 페어 프로그래밍, TDD를 강조하는 대표적 애자일 기법이다.
- 3번 ‘crystal’는 선택 조건과 다르다. Crystal은 프로젝트 규모와 중요도에 따라 방법론의 무게를 달리 적용하는 애자일 계열 기법이다.
- 4번 ‘scrum’는 선택 조건과 다르다. Scrum은 스프린트, 백로그, 데일리 스크럼으로 운영되는 대표적 애자일 프레임워크다.
정답 판정: 정답 판정: 정답은 1번이다. SPICE는 소프트웨어 프로세스의 능력·성숙도를 심사·평가하기 위한 국제 표준 모델이지 애자일 개발 방법론이 아니다. 검증 기준: spice의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: XP·Crystal·Scrum은 애자일 계열로 다뤄지지만 SPICE는 프로세스 평가 프레임워크다.
- Manifesto for Agile Software Development
확인 위치: Manifesto values and principles
판정 연결: XP·Crystal·Scrum은 애자일 계열로 다뤄지지만 SPICE는 프로세스 평가 프레임워크다. - ISO/IEC 33001 process assessment concepts
확인 위치: ISO/IEC 33001 scope — process assessment
판정 연결: ISO/IEC 33001은 프로세스 평가 개념과 용어를 다루므로 애자일 개발 기법 자체가 아니다.
20. 설계 검토 회의에서 다음 항목을 판단한다. 다음에서 설명하는 사용자 인터페이스의 설계 원칙은? 사용자의 목적이 정확하고 완전하게 달성되도록 인터페이스를 구성해야 한다. 목표한 결과를 빠짐없이 얻게 하여 업무의 수행 성과를 높이는 것을 지향한다.
- 직관성(Intuitiveness)
- 유효성(Effectiveness)
- 학습성(Learnability)
- 유연성(Flexibility)
정답과 해설 보기
정답: 2
정답은 2번이다. 사용자의 목적이 정확하고 완전하게 달성되어 업무 수행 성과를 높이는 것을 지향하는 UI 설계 원칙은 유효성(Effectiveness)이다.
선지별 해설
- 1번 ‘직관성(Intuitiveness)’는 선택 조건과 다르다. 직관성은 누구나 쉽게 이해하고 별도 설명 없이 사용할 수 있어야 한다는 원칙으로, 목적 달성의 정확성과는 초점이 다르다.
- 2번은 정답 선지다. 목표 달성의 정확성과 완전성, 그리고 수행 성과 향상을 말하므로 유효성의 정의와 일치한다. 문항 조건에 부합한다.
- 3번 ‘학습성(Learnability)’는 선택 조건과 다르다. 학습성은 초보자도 쉽게 배우고 익힐 수 있어야 한다는 원칙으로, 직관성·유효성·유연성과 병렬인 별개의 원칙이다.
- 4번 ‘유연성(Flexibility)’는 선택 조건과 다르다. 유연성은 사용자의 다양한 요구를 최대한 수용하고 오류를 방지하거나 복구할 수 있어야 한다는 원칙이다.
정답 판정: 정답 판정: 정답은 2번이다. 사용자의 목적이 정확하고 완전하게 달성되어 업무 수행 성과를 높이는 것을 지향하는 UI 설계 원칙은 유효성(Effectiveness)이다. 검증 기준: 유효성(Effectiveness)의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: effectiveness는 사용자가 목표를 정확하고 완전하게 달성하는 정도를 뜻한다.
- ISO 9241 usability definitions
확인 위치: Clause 3 terms — effectiveness, efficiency and satisfaction
판정 연결: effectiveness는 사용자가 목표를 정확하고 완전하게 달성하는 정도를 뜻한다.
정보처리기사 필기 기출문제 · 소프트웨어 개발
21. 개발·시험 담당자가 다음 사례를 검토한다. 소프트웨어 재공학의 주요 활동 중 기존 소프트웨어 시스템을 새로운 기술 또는 하드웨어 환경에서 사용할 수 있도록 변환하는 작업을 가리키는 용어를 고르면?
- Migration
- Restructuring
- Reverse Engineering
- Analysis
정답과 해설 보기
정답: 1
정답은 1번이다. 기존 시스템을 새로운 기술이나 하드웨어·운영 환경으로 옮겨 사용할 수 있게 변환하는 재공학 활동은 이식(Migration)이다.
선지별 해설
- 1번은 정답 선지다. 이식(Migration)은 새로운 환경에 맞게 시스템을 변환·이전하는 활동이어서 선택해야 한다.
- 2번 ‘Restructuring’는 선택 조건과 다르다. 재구조화(Restructuring)는 기능은 그대로 두고 코드나 구조의 품질만 개선하는 활동이다.
- 3번 ‘Reverse Engineering’는 선택 조건과 다르다. 역공학(Reverse Engineering)은 완성된 코드에서 설계 정보나 명세를 거꾸로 추출하는 활동이다.
- 4번 ‘Analysis’는 선택 조건과 다르다. 분석(Analysis)은 기존 시스템의 명세와 동작을 파악해 재공학 대상과 범위를 판단하는 단계다.
정답 판정: 정답 판정: 정답은 1번이다. 기존 시스템을 새로운 기술이나 하드웨어·운영 환경으로 옮겨 사용할 수 있게 변환하는 재공학 활동은 이식(Migration)이다. 검증 기준: Migration의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: migration은 기존 시스템을 새 운영·기술 환경으로 옮기고 필요한 변환을 수행하는 활동이다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: Software Maintenance KA §3.3 Migration
판정 연결: migration은 기존 시스템을 새 운영·기술 환경으로 옮기고 필요한 변환을 수행하는 활동이다.
22. 개발·시험 담당자가 다음 사례를 검토한다. 알파, 베타 테스트와 가장 밀접한 연관이 있는 테스트 단계는?
- 통합 테스트
- 시스템 테스트
- 단위 테스트
- 인수 테스트
정답과 해설 보기
정답: 4
정답은 4번이다. 알파·베타 테스트는 사용자가 수행하는 인수 테스트(Acceptance Test)에 속한다.
선지별 해설
- 1번 ‘통합 테스트’는 선택 조건과 다르다. 통합 테스트는 모듈 결합을 검증하는 단계이다.
- 2번 ‘시스템 테스트’는 선택 조건과 다르다. 시스템 테스트는 전체 시스템을 검증하는 단계이다.
- 3번 ‘단위 테스트’는 선택 조건과 다르다. 단위 테스트는 개별 모듈을 검증하는 단계이다.
- 4번은 정답 선지다. 인수 테스트는 알파·베타 테스트를 포함하는 단계이다.
정답 판정: 정답 판정: 정답은 4번이다. 알파·베타 테스트는 사용자가 수행하는 인수 테스트(Acceptance Test)에 속한다. 검증 기준: 인수 테스트의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 알파와 베타 테스트는 사용자·운영 관점에서 수용 여부를 확인하는 인수 테스트 형태다.
- ISTQB CTFL Syllabus — alpha and beta testing
확인 위치: §2.2.3 Acceptance Testing — Alpha and beta testing
판정 연결: 알파와 베타 테스트는 사용자·운영 관점에서 수용 여부를 확인하는 인수 테스트 형태다.
23. 개발·시험 담당자가 다음 사례를 검토한다. 비선형 자료 구조에 해당하는 항목을 고르면?
- 스택(Stack)
- 큐(Queue)
- 그래프(Graph)
- 데크(Deque)
정답과 해설 보기
정답: 3
정답은 3번이다. 그래프는 정점들이 간선으로 자유롭게 연결되어 자료 간 관계가 1:N 또는 N:M으로 표현되는 비선형 자료 구조다.
선지별 해설
- 1번 ‘스택(Stack)’는 선택 조건과 다르다. 스택은 나중에 들어온 값이 먼저 나가는(LIFO) 선형 구조다.
- 2번 ‘큐(Queue)’는 선택 조건과 다르다. 큐는 먼저 들어온 값이 먼저 나가는(FIFO) 선형 자료 구조다.
- 3번은 정답 선지다. 그래프는 정점과 간선으로 구성된 대표적 비선형 구조이어서 선택해야 한다.
- 4번 ‘데크(Deque)’는 선택 조건과 다르다. 데크는 양쪽 끝에서 삽입·삭제가 가능한 선형 구조다.
정답 판정: 정답 판정: 정답은 3번이다. 그래프는 정점들이 간선으로 자유롭게 연결되어 자료 간 관계가 1:N 또는 N:M으로 표현되는 비선형 자료 구조다. 검증 기준: 그래프(Graph)의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 그래프는 정점과 간선으로 관계를 표현하는 비선형 자료구조이며 스택·큐·덱은 선형 구조다.
- NIST DADS — graph
확인 위치: Definition — vertices and edges
판정 연결: 그래프는 정점과 간선으로 관계를 표현하는 비선형 자료구조이며 스택·큐·덱은 선형 구조다.
24. 호출 스택과 인터럽트 복귀 주소 저장에 사용하는 자료구조를 검토한다. 스택의 성질로 맞는 ㉠~㉣ 조합은? ㉠ 먼저 들어온 항목이 먼저 나온다. ㉡ 양쪽 끝 모두에서 삽입·삭제한다. ㉢ 한쪽 끝 Top에서만 삽입·삭제한다. ㉣ 서브루틴 복귀 주소 관리에 이용한다.
- ㉠, ㉡
- ㉡, ㉢
- ㉢, ㉣
- ㉠, ㉣
정답과 해설 보기
정답: 3
스택은 한쪽 끝인 Top에서 Push와 Pop을 수행하는 LIFO 구조이며, 함수 호출과 인터럽트 복귀 주소 저장에 활용한다. 따라서 ㉢과 ㉣이 맞다.
선지별 해설
- 1번은 FIFO와 양끝 연산을 모두 포함하므로 스택의 성질이 아니다.
- 2번은 양끝 연산이 가능한 덱의 성질을 포함하므로 틀리다.
- 3번은 Top에서만 연산하는 LIFO 구조와 대표 응용을 모두 설명하므로 정답이다.
- 4번은 서브루틴 응용은 맞지만 FIFO라는 ㉠이 틀리다.
정답 판정: 정답 판정: 스택은 한쪽 끝인 Top에서 Push와 Pop을 수행하는 LIFO 구조이며, 함수 호출과 인터럽트 복귀 주소 저장에 활용한다. 따라서 ㉢과 ㉣이 맞다. 검증 기준: 스택의 LIFO, Top 단일 연산점, 호출 스택 응용을 기준으로 판단한다. 원문 대조: 스택은 한쪽 끝에서 push와 pop을 수행하는 LIFO 구조이고 호출 복귀 주소 관리에 사용된다.
독립 계산·실행 추적: ㉢은 Top 한쪽 끝에서만 삽입·삭제, ㉣은 호출 복귀 주소 응용이므로 맞다. FIFO·양끝 연산인 ㉠·㉡은 제외되어 ㉢,㉣이다.
- NIST DADS — stack
확인 위치: Definition — LIFO access at one end
판정 연결: 스택은 한쪽 끝에서 push와 pop을 수행하는 LIFO 구조이고 호출 복귀 주소 관리에 사용된다.
25. 입력 P, Q, R, S를 차례로 사용해 Push, Push, Pop, Push, Push, Pop, Pop, Pop을 수행한다. Pop으로 꺼내는 순서는?
- P, Q, R, S
- Q, P, R, S
- P, Q, S, R
- Q, S, R, P
정답과 해설 보기
정답: 4
P와 Q를 넣은 뒤 Q를 꺼내고, R과 S를 넣은 뒤 S, R, P 순서로 꺼낸다. 전체 출력은 Q, S, R, P이다.
선지별 해설
- 1번은 입력 순서 그대로이므로 FIFO 결과다.
- 2번은 첫 Pop 뒤 남은 스택 상태를 반영하지 않았다.
- 3번은 첫 Pop에서 Q가 나와야 한다는 점과 맞지 않는다.
- 4번은 각 Push와 Pop을 LIFO로 추적한 Q, S, R, P이므로 정답이다.
정답 판정: 정답 판정: P와 Q를 넣은 뒤 Q를 꺼내고, R과 S를 넣은 뒤 S, R, P 순서로 꺼낸다. 전체 출력은 Q, S, R, P이다. 검증 기준: 각 연산 뒤의 스택을 기록해 LIFO 출력 순서를 재계산한다. 원문 대조: 각 push와 pop을 LIFO로 추적하면 출력 순서는 Q, S, R, P가 된다.
독립 계산·실행 추적: Push P → [P], Push Q → [P,Q], Pop → Q, Push R → [P,R], Push S → [P,R,S], 이후 Pop → S,R,P. 전체 Q,S,R,P.
- NIST DADS — stack
확인 위치: LIFO definition and push/pop operations
판정 연결: 각 push와 pop을 LIFO로 추적하면 출력 순서는 Q, S, R, P가 된다.
26. 개발·시험 담당자가 다음 사례를 검토한다. 소프트웨어 테스트에서 오류의 80%는 전체 모듈의 20% 내에서 발견된다는 법칙은?
- Pareto의 법칙
- Jackson의 법칙
- Brooks의 법칙
- Boehm의 법칙
정답과 해설 보기
정답: 1
정답은 1번이다. 파레토(Pareto) 법칙은 결함의 80%가 20%의 모듈에 집중된다는 원리이다.
선지별 해설
- 1번은 정답 선지다. 80:20 결함 집중은 파레토 법칙이어서 선택해야 한다.
- 2번 ‘Jackson의 법칙’는 선택 조건과 다르다. Jackson은 JSP·JSD로 알려진 구조적 설계 방법론의 이름이며, 애초에 법칙이 아니다.
- 3번 ‘Brooks의 법칙’는 선택 조건과 다르다. Brooks의 법칙은 프로젝트 관리 영역의 경험 법칙이라, 테스트에서 결함이 어디에 분포하는지와는 무관하다.
- 4번 ‘Boehm의 법칙’는 선택 조건과 다르다. Boehm의 법칙은 결함 발견이 늦을수록 비용이 커진다는 원리이다.
정답 판정: 정답 판정: 정답은 1번이다. 파레토(Pareto) 법칙은 결함의 80%가 20%의 모듈에 집중된다는 원리이다. 검증 기준: Pareto의 법칙의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 결함이 일부 모듈에 집중되는 현상을 80 대 20 관점으로 설명하는 법칙은 Pareto 원칙이다.
- Juran — Pareto principle and analysis
확인 위치: Pareto principle — vital few and useful many
판정 연결: 결함이 일부 모듈에 집중되는 현상을 80 대 20 관점으로 설명하는 법칙은 Pareto 원칙이다.
27. 개발·시험 담당자가 다음 사례를 검토한다. 블랙박스 테스트 기법으로 관련성이 낮은 것은?
- 원인 결과 그래프
- 기초 경로 검사
- 동치 클래스 분해
- 경곗값 분석
정답과 해설 보기
정답: 2
정답은 2번이다. 기초 경로 검사(Basis Path Testing)는 프로그램의 제어 흐름과 순환 복잡도를 이용하므로 내부 구조를 보는 화이트박스 기법이다.
선지별 해설
- 1번 ‘원인 결과 그래프’는 선택 조건과 다르다. 원인 결과 그래프는 입력 조건과 출력 결과의 논리 관계를 그래프로 정리하는 블랙박스 기법이다.
- 2번은 정답 선지다. 기초 경로 검사는 소스 코드의 제어 흐름 그래프를 기반으로 하는 화이트박스 기법이어서 선택해야 한다.
- 3번 ‘동치 클래스 분해’는 선택 조건과 다르다. 동치 클래스 분해는 입력 값을 유효/무효 집합으로 나눠 대표값만 시험하는 블랙박스 기법이다.
- 4번 ‘경곗값 분석’는 선택 조건과 다르다. 경곗값 분석은 입력 범위의 경계 부근 값을 골라 시험하는 블랙박스 기법이다.
정답 판정: 정답 판정: 정답은 2번이다. 기초 경로 검사(Basis Path Testing)는 프로그램의 제어 흐름과 순환 복잡도를 이용하므로 내부 구조를 보는 화이트박스 기법이다. 검증 기준: 기초 경로 검사의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 동치 분할·경곗값·원인 결과 그래프는 명세 기반이고 기초 경로 검사는 구조 기반 기법이다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: Software Testing KA §3 Test Techniques — specification-based and structure-based
판정 연결: 동치 분할·경곗값·원인 결과 그래프는 명세 기반이고 기초 경로 검사는 구조 기반 기법이다.
28. 개발·시험 담당자가 다음 사례를 검토한다. 정렬된 n개의 데이터를 처리하는데 O(nlog2n)의 시간이 소요되는 정렬 알고리즘은?
- 선택 정렬
- 삽입 정렬
- 버블 정렬
- 합병 정렬
정답과 해설 보기
정답: 4
정답은 4번이다. 합병정렬(Merge Sort)의 평균·최악 시간복잡도는 O(N log N)이다.
선지별 해설
- 1번 ‘선택 정렬’는 선택 조건과 다르다. 선택정렬은 O(N^2)이다.
- 2번 ‘삽입 정렬’는 선택 조건과 다르다. 삽입정렬은 O(N^2)이다.
- 3번 ‘버블 정렬’는 선택 조건과 다르다. 버블정렬은 O(N^2)이다.
- 4번은 정답 선지다. 합병정렬은 O(N log N)이어서 선택해야 한다.
정답 판정: 정답 판정: 정답은 4번이다. 합병정렬(Merge Sort)의 평균·최악 시간복잡도는 O(N log N)이다. 검증 기준: 합병 정렬의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 합병 정렬은 분할한 부분열을 병합하며 일반적으로 n log n 시간 복잡도를 갖는다.
- NIST DADS — merge sort
확인 위치: Definition and complexity — Θ(n log n)
판정 연결: 합병 정렬은 분할한 부분열을 병합하며 일반적으로 n log n 시간 복잡도를 갖는다.
29. 배열 8, 3, 7, 2, 6을 왼쪽부터 인접 비교하는 버블 정렬로 오름차순 정렬한다. 두 번째 전체 패스가 끝난 배열은?
- 3, 7, 2, 6, 8
- 3, 2, 6, 7, 8
- 2, 3, 6, 8, 7
- 2, 3, 6, 7, 8
정답과 해설 보기
정답: 2
첫 패스 결과는 3, 7, 2, 6, 8이고, 두 번째 패스에서 7이 2와 6의 뒤로 이동해 3, 2, 6, 7, 8이 된다.
선지별 해설
- 1번은 첫 번째 패스까지만 수행한 상태다.
- 2번은 두 번째 패스의 인접 비교 결과와 일치하므로 정답이다.
- 3번은 8과 7의 위치가 두 번째 패스 규칙과 맞지 않는다.
- 4번은 최종 정렬 결과이며 두 번째 패스 시점보다 한 단계 앞선 결과다.
정답 판정: 정답 판정: 첫 패스 결과는 3, 7, 2, 6, 8이고, 두 번째 패스에서 7이 2와 6의 뒤로 이동해 3, 2, 6, 7, 8이 된다. 검증 기준: 버블 정렬의 패스별 인접 비교와 교환을 직접 추적한다. 원문 대조: 인접 원소를 왼쪽부터 비교·교환하는 두 패스를 직접 적용하면 3, 2, 6, 7, 8이 된다.
독립 계산·실행 추적: [8,3,7,2,6] → 1패스 [3,7,2,6,8] → 2패스 [3,2,6,7,8].
- NIST DADS — bubble sort
확인 위치: Definition — adjacent comparison in repeated passes
판정 연결: 인접 원소를 왼쪽부터 비교·교환하는 두 패스를 직접 적용하면 3, 2, 6, 7, 8이 된다.
30. 다음 중 자동화된 소프트웨어 테스트 도구가 아니라 데이터베이스 개발 제품인 것은?
- Watir
- xUnit
- Microsoft Visual FoxPro
- STAF
정답과 해설 보기
정답: 3
Watir, xUnit 계열, STAF는 테스트 자동화에 쓰이는 도구·프레임워크다. Visual FoxPro는 데이터 중심 응용 프로그램을 개발하는 제품이므로 분류가 다르다.
선지별 해설
- 1번 Watir는 웹 애플리케이션 브라우저 테스트 자동화 도구다.
- 2번 xUnit은 여러 언어에서 단위 테스트를 구성하는 프레임워크 계열이다.
- 3번 Visual FoxPro는 데이터 중심 응용 프로그램 개발 제품이므로 정답이다.
- 4번 STAF는 분산 환경의 테스트 자동화 프레임워크다.
정답 판정: 정답 판정: Watir, xUnit 계열, STAF는 테스트 자동화에 쓰이는 도구·프레임워크다. Visual FoxPro는 데이터 중심 응용 프로그램을 개발하는 제품이므로 분류가 다르다. 검증 기준: 각 프로젝트의 공식 설명에서 테스트 자동화 용도와 데이터베이스 개발 제품을 구분한다. 원문 대조: Watir는 웹 브라우저 기반 자동화 테스트 도구다.
- Watir project — browser test automation
확인 위치: Project description — test automation for web applications
판정 연결: Watir는 웹 브라우저 기반 자동화 테스트 도구다. - Microsoft Lifecycle — Visual FoxPro 9.0
확인 위치: Product description and lifecycle
판정 연결: Visual FoxPro는 데이터 중심 응용 프로그램 개발 제품이므로 테스트 자동화 도구 분류와 다르다.
31. 개발·시험 담당자가 다음 사례를 검토한다. 복잡한 문제를 해결 가능한 작은 문제로 나누어 해결하는 접근법은?
- Top-down Testing
- Divide and Conquer
- Information Hiding
- Data Abstraction
정답과 해설 보기
정답: 2
정답은 2번이다. 큰 문제를 해결 가능한 작은 부분 문제로 나눈 뒤 각각을 풀고 합치는 접근법이 분할 정복(Divide and Conquer)이다.
선지별 해설
- 1번 ‘Top-down Testing’는 선택 조건과 다르다. 하향식 테스트는 상위 모듈부터 통합하며 스텁을 사용하는 통합 테스트 방식이다.
- 2번은 정답 선지다. 분할 정복은 문제를 분할(divide)-정복(conquer)-통합(combine) 순으로 처리하므로 정답으로 판정된다.
- 3번 ‘Information Hiding’는 선택 조건과 다르다. 정보 은닉은 모듈 내부 자료와 구현을 감춰 외부 영향을 줄이는 설계 원리다.
- 4번 ‘Data Abstraction’는 선택 조건과 다르다. 자료 추상화는 자료의 본질적 속성만 표현하고 세부 표현은 숨기는 개념이다.
정답 판정: 정답 판정: 정답은 2번이다. 큰 문제를 해결 가능한 작은 부분 문제로 나눈 뒤 각각을 풀고 합치는 접근법이 분할 정복(Divide and Conquer)이다. 검증 기준: Divide and Conquer의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문제를 더 작은 독립 하위 문제로 나누어 해결한 뒤 결합하는 접근이 divide and conquer다.
- NIST DADS — divide and conquer
확인 위치: Definition — split into smaller subproblems
판정 연결: 문제를 더 작은 독립 하위 문제로 나누어 해결한 뒤 결합하는 접근이 divide and conquer다.
32. 개발·시험 담당자가 다음 사례를 검토한다. 입력값, 실행 조건, 기대 결과 등을 명세한 테스트 구성 요소는?
- Test Driver
- Test Stub
- Test Suite
- Test Case
정답과 해설 보기
정답: 4
정답은 4번이다. 입력값, 실행 조건, 기대 결과를 명세한 테스트의 최소 단위 문서가 테스트 케이스(Test Case)다.
선지별 해설
- 1번 ‘Test Driver’는 선택 조건과 다르다. 테스트 드라이버는 상위 모듈 대신 하위 모듈을 호출해 주는 임시 프로그램이다.
- 2번 ‘Test Stub’는 선택 조건과 다르다. 테스트 스텁은 아직 만들어지지 않은 하위 모듈을 대신하는 더미 모듈이다.
- 3번 ‘Test Suite’는 선택 조건과 다르다. 테스트 스위트는 관련된 테스트 케이스들을 목적별로 묶어 놓은 집합이다.
- 4번은 정답 선지다. 테스트 케이스는 입력값·실행 조건·기대 결과를 정의한 명세이어서 선택해야 한다.
정답 판정: 정답 판정: 정답은 4번이다. 입력값, 실행 조건, 기대 결과를 명세한 테스트의 최소 단위 문서가 테스트 케이스(Test Case)다. 검증 기준: Test Case의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 입력값·사전조건·예상결과를 명세한 개별 시험 단위가 test case다.
- ISTQB CTFL Syllabus — alpha and beta testing
확인 위치: Glossary-aligned test case elements in §1.4
판정 연결: 입력값·사전조건·예상결과를 명세한 개별 시험 단위가 test case다.
33. 개발·시험 담당자가 다음 사례를 검토한다. 트리(Tree)의 차수(Degree)에 대한 기술로 타당한 설명을 고르면?
- 각 노드가 가진 자식 수 중 최댓값
- 트리에 포함된 모든 간선의 수
- 리프 노드의 전체 개수
- 루트에서 가장 먼 리프까지의 간선 수
정답과 해설 보기
정답: 1
정답은 1번이다. 트리의 차수는 트리에 속한 노드들이 가진 자식 수(노드 차수) 가운데 가장 큰 값을 말한다.
선지별 해설
- 1번은 정답 선지다. 각 노드의 자식 수 중 최댓값이 트리의 차수이어서 선택해야 한다.
- 2번 ‘트리에 포함된 모든 간선의 수’는 선택 조건과 다르다. 전체 간선 수는 노드 수보다 1 작은 값(n-1)일 뿐 차수와 무관하다.
- 3번 ‘리프 노드의 전체 개수’는 선택 조건과 다르다. 리프 노드의 개수는 단말 노드 수로, 차수와는 다른 개념이다.
- 4번 ‘루트에서 가장 먼 리프까지의 간선 수’는 선택 조건과 다르다. 루트에서 가장 먼 리프까지의 거리는 차수가 아니라 트리의 깊이(높이)다.
정답 판정: 정답 판정: 정답은 1번이다. 트리의 차수는 트리에 속한 노드들이 가진 자식 수(노드 차수) 가운데 가장 큰 값을 말한다. 검증 기준: 각 노드가 가진 자식 수 중 최댓값의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 트리의 차수는 각 노드가 가진 자식 수 가운데 최댓값으로 정의한다.
- NIST DADS — tree and node degree
확인 위치: Definition — node children and tree degree
판정 연결: 트리의 차수는 각 노드가 가진 자식 수 가운데 최댓값으로 정의한다.
34. 오름차순으로 정렬된 배열에서 가운데 원소와 비교하며 탐색 범위를 절반씩 줄이는 방법은?
- 보간 탐색
- 이진 탐색
- 선형 탐색
- 깊이 우선 탐색
정답과 해설 보기
정답: 2
이진 탐색은 정렬된 배열의 가운데 원소와 목표값을 비교하고, 결과에 따라 왼쪽 또는 오른쪽 절반만 다시 탐색한다.
선지별 해설
- 1번 보간 탐색은 값의 분포를 이용해 예상 위치를 계산한다.
- 2번 이진 탐색은 탐색 범위를 절반씩 줄이므로 정답이다.
- 3번 선형 탐색은 앞에서부터 원소를 하나씩 확인한다.
- 4번 깊이 우선 탐색은 그래프나 트리의 경로 탐색 방식이다.
정답 판정: 정답 판정: 이진 탐색은 정렬된 배열의 가운데 원소와 목표값을 비교하고, 결과에 따라 왼쪽 또는 오른쪽 절반만 다시 탐색한다. 검증 기준: 정렬 배열에서 중앙 비교 뒤 한쪽 절반을 버리는 이진 탐색의 절차를 적용한다. 원문 대조: 정렬 배열의 중앙값과 비교해 남은 탐색 구간을 절반씩 줄이는 방식이 이진 탐색이다.
- NIST DADS — binary search
확인 위치: Definition — compare the middle item and halve the search interval
판정 연결: 정렬 배열의 중앙값과 비교해 남은 탐색 구간을 절반씩 줄이는 방식이 이진 탐색이다.
35. 개발·시험 담당자가 다음 사례를 검토한다. 신택스 테스트(Syntax Test)에 대한 기술로 타당한 설명을 고르면?
- 모듈 사이의 호출 관계만 검사한다.
- 입력 데이터나 코드가 정해진 문법 규칙에 맞는지 검증한다.
- 모든 독립 경로를 한 번 이상 실행한다.
- 경곗값만 선택하여 결함을 찾는다.
정답과 해설 보기
정답: 2
정답은 2번이다. 신택스 테스트는 입력 데이터나 코드가 정해진 문법 규칙(형식·구문)을 지키는지 검증하는 기법이다.
선지별 해설
- 1번 ‘모듈 사이의 호출 관계만 검사한다.’는 선택 조건과 다르다. 모듈 간 호출 관계를 확인하는 것은 통합 테스트의 관심사다.
- 2번은 정답 선지다. 문법 규칙 준수 여부를 확인하는 것이 신택스 테스트의 정의이어서 선택해야 한다.
- 3번 ‘모든 독립 경로를 한 번 이상 실행한다.’는 선택 조건과 다르다. 모든 독립 경로를 한 번 이상 실행하는 것은 기초 경로 검사에 대한 설명이다.
- 4번 ‘경곗값만 선택하여 결함을 찾는다.’는 선택 조건과 다르다. 경곗값만 골라 시험하는 것은 경곗값 분석에 분류된다.
정답 판정: 정답 판정: 정답은 2번이다. 신택스 테스트는 입력 데이터나 코드가 정해진 문법 규칙(형식·구문)을 지키는지 검증하는 기법이다. 검증 기준: 입력 데이터나 코드가 정해진 문법 규칙에 맞는지 검증한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: syntax testing은 문법으로 정의된 유효·무효 입력 구조를 바탕으로 시험 데이터를 만든다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: Software Testing KA §3.2 Input Domain-Based Techniques
판정 연결: syntax testing은 문법으로 정의된 유효·무효 입력 구조를 바탕으로 시험 데이터를 만든다.
36. 개발·시험 담당자가 다음 사례를 검토한다. 여러 개발자가 읽고 수정하기 쉽도록 명확하게 작성한 코드를 무엇이라 하는가?
- Spaghetti Code
- Clean Code
- Dead Code
- Object Code
정답과 해설 보기
정답: 2
정답은 2번이다. 누구나 읽고 이해하고 수정하기 쉽도록 명확하고 단순하게 작성한 코드를 클린 코드(Clean Code)라 한다.
선지별 해설
- 1번 ‘Spaghetti Code’는 선택 조건과 다르다. 스파게티 코드는 제어 흐름이 얽혀 이해와 유지보수가 어려운 코드다.
- 2번은 정답 선지다. 클린 코드는 가독성·단순성·중복 제거를 갖춘 코드이어서 선택해야 한다.
- 3번 ‘Dead Code’는 선택 조건과 다르다. 데드 코드는 실행되지 않거나 결과에 영향을 주지 않는 불필요한 코드다.
- 4번 ‘Object Code’는 선택 조건과 다르다. 목적 코드(Object Code)는 컴파일 결과로 생성된 기계어 수준의 코드다.
정답 판정: 정답 판정: 정답은 2번이다. 누구나 읽고 이해하고 수정하기 쉽도록 명확하고 단순하게 작성한 코드를 클린 코드(Clean Code)라 한다. 검증 기준: Clean Code의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 명확한 이름과 단순한 구조로 사람이 읽고 수정하기 쉽게 작성한 코드는 유지보수성이 높은 clean code에 해당한다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: Software Construction KA §3.3 Coding — readability and maintainability
판정 연결: 명확한 이름과 단순한 구조로 사람이 읽고 수정하기 쉽게 작성한 코드는 유지보수성이 높은 clean code에 해당한다.
37. 개발·시험 담당자가 다음 사례를 검토한다. 소프트웨어 프로젝트가 지연될 때 말기에 인력을 추가하면 프로젝트가 더 지연된다는 법칙은?
- Mayer의 법칙
- Brooks의 법칙
- Boehm의 법칙
- Putnam의 법칙
정답과 해설 보기
정답: 2
정답은 2번이다. 지연된 소프트웨어 프로젝트 후반에 인력을 추가하면 의사소통 비용과 교육 부담이 늘어 오히려 더 늦어진다는 것이 브룩스(Brooks)의 법칙이다.
선지별 해설
- 1번 ‘Mayer의 법칙’는 선택 조건과 다르다. Mayer의 법칙은 정보처리기사의 소프트웨어 공학 법칙으로 다루어지지 않는 보기다.
- 2번은 정답 선지다. 브룩스의 법칙이 후반 인력 투입의 역효과를 설명하므로 정답으로 판정된다.
- 3번 ‘Boehm의 법칙’는 선택 조건과 다르다. Boehm은 COCOMO 비용 산정 모형으로 알려진 인물이다.
- 4번 ‘Putnam의 법칙’는 선택 조건과 다르다. Putnam의 법칙은 개발 노력과 기간의 분포를 Rayleigh 곡선으로 모델링한 비용 추정 이론이다.
정답 판정: 정답 판정: 정답은 2번이다. 지연된 소프트웨어 프로젝트 후반에 인력을 추가하면 의사소통 비용과 교육 부담이 늘어 오히려 더 늦어진다는 것이 브룩스(Brooks)의 법칙이다. 검증 기준: Brooks의 법칙의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 늦어진 소프트웨어 프로젝트에 인력을 추가하면 의사소통과 교육 비용 때문에 더 늦어진다는 것이 Brooks의 법칙이다.
- U.S. DOT project management guide — Brooks's Law
확인 위치: Chapter 2 — adding manpower to a late software project
판정 연결: 늦어진 소프트웨어 프로젝트에 인력을 추가하면 의사소통과 교육 비용 때문에 더 늦어진다는 것이 Brooks의 법칙이다.
38. 개발·시험 담당자가 다음 사례를 검토한다. 워크스루와 인스펙션에 대한 기술로 틀린 설명을 고르면?
- 두 기법 모두 결함의 조기 발견에 활용할 수 있다.
- 워크스루와 인스펙션은 절차와 참여자 역할이 완전히 동일하다.
- 워크스루는 작성자가 검토 자료를 설명하며 의견을 받는 방식이다.
- 인스펙션은 역할과 절차가 정의된 공식 검토 방식이다.
정답과 해설 보기
정답: 2
정답은 2번이다. 워크스루와 인스펙션은 공식성 정도와 참여자 역할, 절차가 서로 다르므로 '완전히 동일하다'는 서술이 부적절하다.
선지별 해설
- 1번 ‘두 기법 모두 결함의 조기 발견에 활용할 수 있다.’는 선택 조건과 다르다. 두 기법 모두 개발 초기 단계에서 결함을 조기에 찾아 수정 비용을 줄이는 데 쓰인다.
- 2번은 정답 선지다. 절차와 역할이 완전히 동일하다는 서술은 사실과 다르므로 정답으로 판정된다.
- 3번 ‘워크스루는 작성자가 검토 자료를 설명하며 의견을 받는 방식이다.’는 선택 조건과 다르다. 워크스루는 작성자가 검토 자료를 미리 배포하고 회의에서 설명하며 의견을 받는 비교적 비공식적 검토다.
- 4번 ‘인스펙션은 역할과 절차가 정의된 공식 검토 방식이다.’는 선택 조건과 다르다. 인스펙션은 중재자(moderator), 낭독자, 기록자 등 역할과 절차가 명확히 정의된 공식 검토다.
정답 판정: 정답 판정: 정답은 2번이다. 워크스루와 인스펙션은 공식성 정도와 참여자 역할, 절차가 서로 다르므로 '완전히 동일하다'는 서술이 부적절하다. 검증 기준: 워크스루와 인스펙션은 절차와 참여자 역할이 완전히 동일하다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 워크스루는 작성자 중심 설명형 검토이고 인스펙션은 역할과 절차가 정해진 공식 검토라 둘은 동일하지 않다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: Software Quality KA §3.2 Reviews and Audits — walkthrough and inspection
판정 연결: 워크스루는 작성자 중심 설명형 검토이고 인스펙션은 역할과 절차가 정해진 공식 검토라 둘은 동일하지 않다.
39. 결함을 등록하고 중복·재현 여부를 검토한 뒤, 해결할 개발자나 담당자에게 넘기는 단계는?
- 결함 수정(Correction)
- 결함 등록(Registration)
- 결함 검토(Review)
- 결함 할당(Assignment)
정답과 해설 보기
정답: 4
검토가 끝난 결함의 책임자를 지정하고 해결 작업을 넘기는 단계는 결함 할당이다.
선지별 해설
- 1번 수정은 담당자가 원인을 제거하고 코드를 변경하는 활동이다.
- 2번 등록은 발견 사실과 재현 정보를 기록하는 단계다.
- 3번 검토는 유효성·중복·우선순위를 판단하는 단계다.
- 4번 할당은 해결 책임자를 지정하는 단계이므로 정답이다.
정답 판정: 정답 판정: 검토가 끝난 결함의 책임자를 지정하고 해결 작업을 넘기는 단계는 결함 할당이다. 검증 기준: 결함 수명주기에서 기록·검토·담당자 지정·수정의 순서를 구분한다. 원문 대조: 검토가 끝난 결함을 해결 책임자에게 넘기는 활동은 결함 할당 단계다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: Software Testing KA §4.3 Defect Management
판정 연결: 검토가 끝난 결함을 해결 책임자에게 넘기는 활동은 결함 할당 단계다.
40. 개발·시험 담당자가 다음 사례를 검토한다. 다음에서 설명하는 테스트의 종류는? 입력 자료를 처리 결과가 같을 것으로 기대되는 몇 개의 묶음으로 나눈다. 각 묶음마다 대표값 하나씩만 골라 테스트 케이스를 설계하여 시험 횟수를 줄인다.
- equivalence partitioning test
- boundary value analysis
- comparison testing
- cause-effect graphing testing
정답과 해설 보기
정답: 1
정답은 1번이다. 입력 자료를 처리 결과가 같을 것으로 기대되는 묶음(동치 클래스)으로 나누고 각 묶음의 대표값만 골라 테스트하는 기법은 동등 분할 검사(equivalence partitioning test)다.
선지별 해설
- 1번은 정답 선지다. 동치 클래스로 나눠 대표값만 시험한다는 정의와 정확히 일치하므로 정답으로 판정된다.
- 2번 ‘boundary value analysis’는 선택 조건과 다르다. 경계값 분석은 동치 분할의 대표값 대신 각 구간의 경계(최소값, 최대값과 그 인접값)를 골라 시험하는 기법이다.
- 3번 ‘comparison testing’는 선택 조건과 다르다. 비교 검사는 여러 버전의 프로그램에 같은 입력을 넣어 결과를 서로 비교하는 기법이다.
- 4번 ‘cause-effect graphing testing’는 선택 조건과 다르다. 원인-효과 그래프 검사는 입력 조건(원인)과 출력(효과) 사이의 논리 관계를 그래프로 그려 테스트 케이스를 도출하는 기법이다.
정답 판정: 정답 판정: 정답은 1번이다. 입력 자료를 처리 결과가 같을 것으로 기대되는 묶음(동치 클래스)으로 나누고 각 묶음의 대표값만 골라 테스트하는 기법은 동등 분할 검사(equivalence partitioning test)다. 검증 기준: equivalence partitioning test의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 동일하게 처리될 것으로 기대되는 입력 집합을 나누고 각 집합의 대표값을 시험하는 기법이 동치 분할이다.
- ISTQB CTFL Syllabus — alpha and beta testing
확인 위치: §4.2.1 Equivalence Partitioning
판정 연결: 동일하게 처리될 것으로 기대되는 입력 집합을 나누고 각 집합의 대표값을 시험하는 기법이 동치 분할이다.
정보처리기사 필기 기출문제 · 데이터베이스 구축
41. 데이터베이스 설계자가 다음 조건을 확인한다. SQL의 명령은 사용 용도에 따라 DDL, DML, DCL로 분류할 수 있다. 다음 명령 중 그 성격이 나머지 셋과 다른 하나는?
- SELECT
- INSERT
- UPDATE
- CREATE
정답과 해설 보기
정답: 4
정답은 4번이다. CREATE는 테이블·뷰 등 데이터베이스 객체의 구조를 정의하는 DDL이고, 나머지 SELECT·INSERT·UPDATE는 데이터를 다루는 DML이다.
선지별 해설
- 1번 ‘SELECT’는 선택 조건과 다르다. SELECT는 저장된 데이터를 검색하는 DML(질의어)이다.
- 2번 ‘INSERT’는 선택 조건과 다르다. INSERT는 튜플을 삽입하는 DML이다.
- 3번 ‘UPDATE’는 선택 조건과 다르다. UPDATE는 기존 튜플의 값을 갱신하는 DML이다.
- 4번은 정답 선지다. 문항 조건에 부합한다. CREATE는 ALTER, DROP과 함께 스키마를 정의·변경·제거하는 DDL(데이터 정의어)이다.
정답 판정: 정답 판정: 정답은 4번이다. CREATE는 테이블·뷰 등 데이터베이스 객체의 구조를 정의하는 DDL이고, 나머지 SELECT·INSERT·UPDATE는 데이터를 다루는 DML이다. 검증 기준: CREATE의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: SELECT·INSERT·UPDATE는 데이터 조회·조작 문맥이고 CREATE는 객체 정의 명령이다.
- PostgreSQL — Data Manipulation
확인 위치: Chapter 6 — INSERT, UPDATE and DELETE
판정 연결: SELECT·INSERT·UPDATE는 데이터 조회·조작 문맥이고 CREATE는 객체 정의 명령이다. - PostgreSQL — ALTER TABLE
확인 위치: SQL command reference — schema definition commands
판정 연결: CREATE와 ALTER 계열은 데이터 구조를 정의·변경하는 명령이다.
42. 일반적인 SQL 뷰에 대한 설명으로 맞는 것만 고른 것은? ㉠ 뷰는 질의로 정의되는 가상 테이블이다. ㉡ 모든 뷰는 제한 없이 삽입·수정·삭제할 수 있다. ㉢ 사용자별로 노출할 행과 열을 제한하는 데 활용할 수 있다. ㉣ 뷰는 언제나 자체 데이터 파일을 별도로 저장한다.
- ㉠, ㉡
- ㉠, ㉢
- ㉡, ㉣
- ㉠, ㉢, ㉣
정답과 해설 보기
정답: 2
일반 뷰는 질의로 정의되는 가상 테이블이며 행·열 노출을 제한할 수 있다. 조인·집계 등이 포함된 뷰는 갱신이 제한될 수 있고 일반 뷰가 항상 자체 데이터 파일을 저장하는 것도 아니다.
선지별 해설
- 1번은 모든 뷰를 제한 없이 갱신할 수 있다는 ㉡이 틀리다.
- 2번은 뷰의 논리적 정의와 접근 제한 활용을 모두 설명하므로 정답이다.
- 3번은 ㉡과 ㉣이 모두 일반적인 뷰의 성질이 아니다.
- 4번은 항상 자체 데이터를 저장한다는 ㉣ 때문에 틀리다.
정답 판정: 정답 판정: 일반 뷰는 질의로 정의되는 가상 테이블이며 행·열 노출을 제한할 수 있다. 조인·집계 등이 포함된 뷰는 갱신이 제한될 수 있고 일반 뷰가 항상 자체 데이터 파일을 저장하는 것도 아니다. 검증 기준: SQL CREATE VIEW의 질의 기반 정의와 자동 갱신 가능 조건을 적용한다. 원문 대조: 일반 뷰는 질의로 정의되며 행·열 노출을 제한할 수 있지만 모든 뷰가 자동 갱신 가능한 것은 아니다.
- PostgreSQL — CREATE VIEW
확인 위치: DESCRIPTION and Updatable Views
판정 연결: 일반 뷰는 질의로 정의되며 행·열 노출을 제한할 수 있지만 모든 뷰가 자동 갱신 가능한 것은 아니다.
43. 데이터베이스 설계자가 다음 조건을 확인한다. 관계 해석에 대한 기술로 틀린 설명을 고르면?
- 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 특성을 가진다.
- 수학의 프레디킷 해석에 기반을 두고 있다.
- 관계 데이터 모델의 제안자인 코드(Codd)가 관계 데이터베이스에 적용할 수 있도록 설계하여 제안하였다.
- 튜플 관계 해석과 도메인 관계 해석이 있다.
정답과 해설 보기
정답: 1
정답은 1번이다. 관계 해석은 '무엇을 얻을 것인가'만 기술하는 비절차적(non-procedural) 언어이므로, 유도 과정까지 기술하는 절차적 특성을 가진다는 설명은 틀리다.
선지별 해설
- 1번은 정답 선지다. 부적절하다. 절차적 특성을 가진 것은 관계 대수이고, 관계 해석은 원하는 정보가 무엇인지만 명시하는 비절차적 언어다.
- 2번 ‘수학의 프레디킷 해석에 기반을 두고 있다.’는 선택 조건과 다르다. 타당하다. 관계 해석은 수학의 술어(프레디킷) 해석을 기반으로 한다.
- 3번 ‘관계 데이터 모델의 제안자인 코드(Codd)가 관계 데이터베이스에 적용할 수 있도록 설계하여 제안하였다.’는 선택 조건과 다르다. 타당하다. 관계 데이터 모델을 제안한 코드(E. F. Codd)가 관계 DB용으로 설계해 제안했다.
- 4번 ‘튜플 관계 해석과 도메인 관계 해석이 있다.’는 선택 조건과 다르다. 타당하다. 변수의 대상에 따라 튜플 관계 해석과 도메인 관계 해석으로 나뉜다.
정답 판정: 정답 판정: 정답은 1번이다. 관계 해석은 '무엇을 얻을 것인가'만 기술하는 비절차적(non-procedural) 언어이므로, 유도 과정까지 기술하는 절차적 특성을 가진다는 설명은 틀리다. 검증 기준: 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 특성을 가진다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 관계 해석은 원하는 결과 조건을 기술하는 비절차적 체계이며 튜플·도메인 해석으로 구분된다.
- E. F. Codd — A Relational Model of Data (paper mirror)
확인 위치: §2 Relational model and predicate calculus
판정 연결: 관계 해석은 원하는 결과 조건을 기술하는 비절차적 체계이며 튜플·도메인 해석으로 구분된다.
44. 동시에 실행되는 트랜잭션이 서로의 미완료 중간 상태에 영향을 받지 않고, 논리적으로 독립 실행처럼 보이게 하는 ACID 특성은?
- Log
- Consistency
- Isolation
- Durability
정답과 해설 보기
정답: 3
Isolation은 병행 트랜잭션 사이의 간섭을 제어하여 각 트랜잭션이 정해진 격리 수준에 따라 독립 실행처럼 관찰되게 하는 특성이다.
선지별 해설
- 1번 Log는 복구를 위한 기록이며 ACID 머리글자가 아니다.
- 2번 Consistency는 트랜잭션 전후 무결성 규칙의 유지다.
- 3번 Isolation은 병행 실행 사이의 관찰·간섭을 제한하므로 정답이다.
- 4번 Durability는 커밋된 결과가 장애 뒤에도 유지되는 성질이다.
정답 판정: 정답 판정: Isolation은 병행 트랜잭션 사이의 간섭을 제어하여 각 트랜잭션이 정해진 격리 수준에 따라 독립 실행처럼 관찰되게 하는 특성이다. 검증 기준: ACID의 Isolation 정의와 트랜잭션 격리 수준의 관찰 규칙을 적용한다. 원문 대조: 격리 수준은 병행 트랜잭션이 서로의 변경을 어떻게 관찰하는지 제한해 독립 실행 성질을 제공한다.
- PostgreSQL — Transaction Isolation
확인 위치: Chapter 13.2 Transaction Isolation
판정 연결: 격리 수준은 병행 트랜잭션이 서로의 변경을 어떻게 관찰하는지 제한해 독립 실행 성질을 제공한다.
45. 데이터베이스 설계자가 다음 조건을 확인한다. 관계 해석에서 ‘for all: 모든 것에 대하여’의 의미를 나타내는 논리 기호는?
- ∈
- ∀
- ∪
- ∃
정답과 해설 보기
정답: 2
정답은 2번이다. ∀는 전칭 정량자(universal quantifier)로 '모든 것에 대하여(for all)'를 뜻한다.
선지별 해설
- 1번 ‘∈’는 선택 조건과 다르다. ∈는 원소가 집합에 속한다는 소속 기호다.
- 2번은 정답 선지다. 문항 조건에 부합한다. ∀는 전칭 정량자로 for all을 표현한다.
- 3번 ‘∪’는 선택 조건과 다르다. ∪는 두 집합의 합집합을 나타내는 연산 기호다.
- 4번 ‘∃’는 선택 조건과 다르다. ∃는 존재 정량자로 'there exists', 즉 '~가 존재한다'는 의미다.
정답 판정: 정답 판정: 정답은 2번이다. ∀는 전칭 정량자(universal quantifier)로 '모든 것에 대하여(for all)'를 뜻한다. 검증 기준: ∀의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 모든 값에 대해 성립함을 나타내는 보편 양화 기호는 ∀이고 ∃는 존재 양화다.
- E. F. Codd — A Relational Model of Data (paper mirror)
확인 위치: Relational calculus notation — universal and existential quantification
판정 연결: 모든 값에 대해 성립함을 나타내는 보편 양화 기호는 ∀이고 ∃는 존재 양화다.
46. SQL 조건 `age BETWEEN 20 AND 29`와 같은 결과를 반환하는 조건은?
- age > 20 AND age < 29
- age >= 20 AND age < 29
- age >= 20 AND age <= 29
- age > 20 AND age <= 29
정답과 해설 보기
정답: 3
BETWEEN의 하한과 상한은 모두 결과에 포함된다. 따라서 20 이상이면서 29 이하인 조건과 같다.
선지별 해설
- 1번은 20과 29를 모두 제외하므로 범위가 좁다.
- 2번은 상한 29를 제외한다.
- 3번은 두 경계를 모두 포함하므로 BETWEEN 20 AND 29와 같다.
- 4번은 하한 20을 제외한다.
정답 판정: 정답 판정: BETWEEN의 하한과 상한은 모두 결과에 포함된다. 따라서 20 이상이면서 29 이하인 조건과 같다. 검증 기준: SQL BETWEEN이 양 끝 경계를 포함하는 범위 조건임을 적용한다. 원문 대조: BETWEEN은 하한과 상한을 모두 포함하므로 20 이상 29 이하 조건과 같다.
독립 계산·실행 추적: BETWEEN은 두 경계를 포함한다. age=20과 age=29 모두 참이므로 age>=20 AND age<=29와 동치다.
- PostgreSQL — BETWEEN comparison predicate
확인 위치: Comparison Predicates — BETWEEN
판정 연결: BETWEEN은 하한과 상한을 모두 포함하므로 20 이상 29 이하 조건과 같다.
47. 데이터베이스 설계자가 다음 조건을 확인한다. 병행 제어의 로킹(Locking) 단위에 대한 기술로 틀린 설명을 고르면?
- 한꺼번에 로킹할 수 있는 객체의 크기를 로킹 단위라고 한다.
- 데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있다.
- 로킹 단위가 작아지면 로킹 오버헤드가 감소한다.
- 로킹 단위가 작아지면 데이터베이스 공유도가 증가한다.
정답과 해설 보기
정답: 3
정답은 3번이다. 로킹 단위가 작아지면 로크 수가 많아져 오버헤드는 오히려 증가한다.
선지별 해설
- 1번 ‘한꺼번에 로킹할 수 있는 객체의 크기를 로킹 단위라고 한다.’는 선택 조건과 다르다. 로킹 단위 정의로 타당하다.
- 2번 ‘데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있다.’는 선택 조건과 다르다. DB, 파일, 레코드 등이 로킹 단위가 될 수 있다는 것은 타당하다.
- 3번은 정답 선지다. 로킹 단위가 작아지면 오버헤드가 증가하므로 감소한다는 설명은 틀려 정답으로 판정된다.
- 4번 ‘로킹 단위가 작아지면 데이터베이스 공유도가 증가한다.’는 선택 조건과 다르다. 로킹 단위가 작아지면 공유도가 증가한다는 것은 타당하다.
정답 판정: 정답 판정: 정답은 3번이다. 로킹 단위가 작아지면 로크 수가 많아져 오버헤드는 오히려 증가한다. 검증 기준: 로킹 단위가 작아지면 로킹 오버헤드가 감소한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 잠금 단위가 작을수록 동시성은 높아지지만 관리해야 할 잠금 수와 오버헤드는 증가한다.
- PostgreSQL — Explicit Locking
확인 위치: §13.3 Explicit Locking — granularity and conflicts
판정 연결: 잠금 단위가 작을수록 동시성은 높아지지만 관리해야 할 잠금 수와 오버헤드는 증가한다.
48. 기본 테이블을 조인한 뷰 V_1과 V_1에 의존하는 뷰 V_2가 있다. `DROP VIEW V_1 CASCADE`의 결과는?
- V_1만 삭제된다
- V_2만 삭제된다
- V_1과 V_2가 함께 삭제된다
- 두 뷰 모두 유지된다
정답과 해설 보기
정답: 3
CASCADE는 삭제 대상에 의존하는 객체까지 연쇄 제거한다. V_2가 V_1에 의존하므로 두 뷰가 함께 삭제된다.
선지별 해설
- 1번은 종속 객체까지 제거하는 CASCADE의 동작을 반영하지 않았다.
- 2번은 명령의 직접 삭제 대상 V_1을 남기므로 틀리다.
- 3번은 V_1과 종속 뷰 V_2를 함께 제거하므로 정답이다.
- 4번은 종속 객체가 있으면 명령을 거부하는 RESTRICT의 결과에 가깝다.
정답 판정: 정답 판정: CASCADE는 삭제 대상에 의존하는 객체까지 연쇄 제거한다. V_2가 V_1에 의존하므로 두 뷰가 함께 삭제된다. 검증 기준: SQL DROP VIEW의 CASCADE 종속 객체 제거 규칙을 적용한다. 원문 대조: DROP VIEW의 CASCADE는 대상 뷰에 의존하는 뷰까지 연쇄 제거한다.
독립 계산·실행 추적: 의존 그래프 V2 → V1. DROP V1 CASCADE는 대상 V1과 역방향 종속 객체 V2를 함께 제거한다.
- PostgreSQL — DROP VIEW
확인 위치: CASCADE option
판정 연결: DROP VIEW의 CASCADE는 대상 뷰에 의존하는 뷰까지 연쇄 제거한다.
49. 데이터베이스 설계자가 다음 조건을 확인한다. 제2정규형에서 제3정규형이 되기 위한 조건은?
- 부분적 함수 종속 제거
- 다치 종속 제거
- 결정자이면서 후보키가 아닌 것 제거
- 이행적 함수 종속 제거
정답과 해설 보기
정답: 4
정답은 4번이다. 제2정규형에서 기본키가 아닌 속성들 사이의 이행적 함수 종속(A→B, B→C이면 A→C)을 제거하면 제3정규형이 된다.
선지별 해설
- 1번 ‘부분적 함수 종속 제거’는 선택 조건과 다르다. 부분 함수 종속 제거는 제1정규형에서 제2정규형으로 가는 조건이다.
- 2번 ‘다치 종속 제거’는 선택 조건과 다르다. 다치 종속 제거는 BCNF에서 제4정규형으로 가는 조건이다.
- 3번 ‘결정자이면서 후보키가 아닌 것 제거’는 선택 조건과 다르다. 결정자이면서 후보키가 아닌 것의 제거는 제3정규형에서 BCNF로 가는 조건이다.
- 4번은 정답 선지다. 문항 조건에 부합한다. 이행적 함수 종속 제거가 2NF → 3NF의 조건이다.
정답 판정: 정답 판정: 정답은 4번이다. 제2정규형에서 기본키가 아닌 속성들 사이의 이행적 함수 종속(A→B, B→C이면 A→C)을 제거하면 제3정규형이 된다. 검증 기준: 이행적 함수 종속 제거의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 제3정규형은 제2정규형에서 비키 속성 사이의 이행적 함수 종속을 제거한 형태다.
- E. F. Codd — A Relational Model of Data (paper mirror)
확인 위치: Normalization discussion — non-key dependencies
판정 연결: 제3정규형은 제2정규형에서 비키 속성 사이의 이행적 함수 종속을 제거한 형태다.
50. 데이터베이스 설계자가 다음 조건을 확인한다. 시스템 카탈로그에 대한 기술로 적절하지 않은 설명을 고르면?
- DBMS가 스스로 생성하고 유지하는 데이터베이스 내의 특별한 테이블 집합체이다.
- 카탈로그에 저장된 정보를 메타 데이터라고도 한다.
- 시스템 카탈로그의 갱신은 무결성 유지를 위하여 SQL을 이용하여 사용자가 직접 갱신하여야 한다.
- 데이터베이스에 포함되는 데이터 객체에 대한 정의나 명세에 대한 정보를 유지 관리한다.
정답과 해설 보기
정답: 3
정답은 3번이다. 시스템 카탈로그는 DBMS가 스스로 갱신하며, 사용자는 조회(SELECT)만 가능할 뿐 INSERT·UPDATE·DELETE로 직접 갱신할 수 없다.
선지별 해설
- 1번 ‘DBMS가 스스로 생성하고 유지하는 데이터베이스 내의 특별한 테이블 집합체이다.’는 선택 조건과 다르다. 타당하다. DBMS가 자동으로 생성·관리하는 시스템 테이블들의 집합이다.
- 2번 ‘카탈로그에 저장된 정보를 메타 데이터라고도 한다.’는 선택 조건과 다르다. 타당하다. 카탈로그에 저장된 정보를 메타 데이터(데이터에 대한 데이터)라고 부른다.
- 3번은 정답 선지다. 부적절한 설명이다. 사용자가 직접 갱신하면 무결성이 깨지므로, 일반 사용자에게는 검색만 허용된다.
- 4번 ‘데이터베이스에 포함되는 데이터 객체에 대한 정의나 명세에 대한 정보를 유지 관리한다.’는 선택 조건과 다르다. 타당하다. 테이블·뷰·인덱스 등 데이터 객체의 정의와 명세 정보를 유지·관리한다.
정답 판정: 정답 판정: 정답은 3번이다. 시스템 카탈로그는 DBMS가 스스로 갱신하며, 사용자는 조회(SELECT)만 가능할 뿐 INSERT·UPDATE·DELETE로 직접 갱신할 수 없다. 검증 기준: 시스템 카탈로그의 갱신은 무결성 유지를 위하여 SQL을 이용하여 사용자가 직접 갱신하여야 한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 시스템 카탈로그는 DBMS가 스키마와 객체 메타데이터를 저장·유지하는 내부 테이블이며 사용자가 임의로 직접 갱신하는 대상이 아니다.
- PostgreSQL — System Catalogs
확인 위치: Chapter 52 System Catalogs — overview
판정 연결: 시스템 카탈로그는 DBMS가 스키마와 객체 메타데이터를 저장·유지하는 내부 테이블이며 사용자가 임의로 직접 갱신하는 대상이 아니다.
51. 데이터베이스 설계자가 다음 조건을 확인한다. R을 기반으로 V1, V1을 기반으로 V2, V2와 R을 기반으로 V3를 만들었다. 이때 DROP VIEW V1 RESTRICT의 결과는?
- R, V1, V2, V3가 모두 삭제된다.
- V1만 삭제된다.
- V1, V2, V3가 삭제된다.
- 종속 뷰가 있으므로 아무 뷰도 삭제되지 않는다.
정답과 해설 보기
정답: 4
정답은 4번이다. RESTRICT는 삭제하려는 뷰를 참조하는 다른 객체가 하나라도 있으면 삭제를 취소한다. V1을 기반으로 V2가 정의되어 있으므로 어떤 뷰도 삭제되지 않는다.
선지별 해설
- 1번 ‘R, V1, V2, V3가 모두 삭제된다.’는 선택 조건과 다르다. 기반 테이블 R은 DROP VIEW로 삭제되지 않으므로 전혀 맞지 않다.
- 2번 ‘V1만 삭제된다.’는 선택 조건과 다르다. V1만 삭제되면 V2가 정의 대상을 잃으므로 RESTRICT는 이를 허용하지 않는다.
- 3번 ‘V1, V2, V3가 삭제된다.’는 선택 조건과 다르다. V1, V2, V3가 모두 삭제되는 것은 RESTRICT가 아니라 CASCADE를 사용했을 때의 결과다.
- 4번은 정답 선지다. 문항 조건에 부합한다. 종속 뷰 V2(그리고 V2에 의존하는 V3)가 존재하므로 삭제 명령이 거부된다.
정답 판정: 정답 판정: 정답은 4번이다. RESTRICT는 삭제하려는 뷰를 참조하는 다른 객체가 하나라도 있으면 삭제를 취소한다. V1을 기반으로 V2가 정의되어 있으므로 어떤 뷰도 삭제되지 않는다. 검증 기준: 종속 뷰가 있으므로 아무 뷰도 삭제되지 않는다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: RESTRICT는 종속 객체가 있으면 뷰 삭제를 거부하므로 V1과 그 종속 뷰가 유지된다.
독립 계산·실행 추적: 의존 그래프 V2 → V1, V3 → V2 및 R. RESTRICT는 V1 종속 V2가 존재하는 순간 삭제를 거부하므로 어떤 뷰도 제거되지 않는다.
- PostgreSQL — DROP VIEW
확인 위치: RESTRICT option and default behavior
판정 연결: RESTRICT는 종속 객체가 있으면 뷰 삭제를 거부하므로 V1과 그 종속 뷰가 유지된다.
52. 데이터베이스 설계자가 다음 조건을 확인한다. 릴레이션의 차수와 기수에 대한 기술로 타당한 설명을 고르면?
- 차수는 속성의 수이고 기수는 튜플의 수이다.
- 차수는 튜플의 수이고 기수는 속성의 수이다.
- 차수와 기수는 모두 후보키의 수이다.
- 차수는 도메인의 수이고 기수는 기본키의 수이다.
정답과 해설 보기
정답: 1
정답은 1번이다. 릴레이션의 차수(Degree)는 속성(열)의 개수, 기수(Cardinality)는 튜플(행)의 개수를 뜻한다.
선지별 해설
- 1번은 정답 선지다. 문항 조건에 부합한다. 차수=속성 수, 기수=튜플 수라는 정의에 정확히 부합한다.
- 2번 ‘차수는 튜플의 수이고 기수는 속성의 수이다.’는 선택 조건과 다르다. 차수와 기수의 정의가 서로 뒤바뀌어 있다.
- 3번 ‘차수와 기수는 모두 후보키의 수이다.’는 선택 조건과 다르다. 후보키의 개수는 차수·기수 어느 쪽과도 관계가 없다.
- 4번 ‘차수는 도메인의 수이고 기수는 기본키의 수이다.’는 선택 조건과 다르다. 도메인 수나 기본키 수로 정의되는 개념이 아니다.
정답 판정: 정답 판정: 정답은 1번이다. 릴레이션의 차수(Degree)는 속성(열)의 개수, 기수(Cardinality)는 튜플(행)의 개수를 뜻한다. 검증 기준: 차수는 속성의 수이고 기수는 튜플의 수이다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 릴레이션의 차수는 속성 수이고 기수는 현재 포함된 튜플 수다.
- E. F. Codd — A Relational Model of Data (paper mirror)
확인 위치: §1.3 Relations — attributes and tuples
판정 연결: 릴레이션의 차수는 속성 수이고 기수는 현재 포함된 튜플 수다.
53. 데이터베이스 설계자가 다음 조건을 확인한다. 다음 중 데이터베이스 무결성 제약 조건에 대한 기술로 타당한 설명을 고르면?
- 참조 무결성(Referential Integrity): 속성값들이 사용자가 정의한 제약 조건(예: 특정 범위의 값)을 만족해야 한다는 규정이다.
- 도메인 무결성(Domain Integrity): 외래키(Foreign Key) 값은 NULL이거나 참조하는 릴레이션의 기본키 값과 반드시 일치해야 한다는 규정이다.
- 사용자 정의 무결성(User-Defined Integrity): 특정 속성의 값이 그 속성에 정의된 도메인 (범위)에 속한 값이어야 한다는 규정이다.
- 개체 무결성(Entity Integrity): 기본키(Primary Key)를 구성하는 어떤 속성값도 널 (NULL) 값이나 중복값을 가질 수 없다는 규정이다.
정답과 해설 보기
정답: 4
정답은 4번이다. 개체 무결성은 기본키에 관한 규정으로, 기본키 값은 릴레이션 안에서 중복될 수 없고 기본키를 구성하는 어떤 속성도 NULL을 가질 수 없다. 보기 중 개체 무결성을 옳게 설명한 것은 4번뿐이다.
선지별 해설
- 1번 ‘참조 무결성(Referential Integrity): 속성값들이 사용자가 정의한 제약 조건(예: 특정 범위의 값)을 만족해야 한다는 규정이다.’는 선택 조건과 다르다. 부적절하다. 사용자가 정의한 제약 조건(특정 범위 등)을 만족해야 한다는 것은 사용자 정의 무결성의 설명이다.
- 2번 ‘도메인 무결성(Domain Integrity): 외래키(Foreign Key) 값은 NULL이거나 참조하는 릴레이션의 기본키 값과 반드시 일치해야 한다는 규정이다.’는 선택 조건과 다르다. 부적절하다. 외래키가 NULL이거나 참조 릴레이션의 기본키 값과 일치해야 한다는 것은 참조 무결성의 설명이다.
- 3번 ‘사용자 정의 무결성(User-Defined Integrity): 특정 속성의 값이 그 속성에 정의된 도메인 (범위)에 속한 값이어야 한다는 규정이다.’는 선택 조건과 다르다. 부적절하다. 속성값이 그 속성에 정의된 도메인에 속해야 한다는 것은 도메인 무결성의 설명이다.
- 4번은 정답 선지다. 문항 조건에 부합한다. 기본키는 튜플을 유일하게 식별해야 하므로 NULL이 허용되지 않고 값이 중복될 수 없다. 다만 엄밀히는 유일성은 기본키 '전체 조합'에 적용되고, NULL 금지가 각 구성 속성에 적용된다.
정답 판정: 정답 판정: 정답은 4번이다. 개체 무결성은 기본키에 관한 규정으로, 기본키 값은 릴레이션 안에서 중복될 수 없고 기본키를 구성하는 어떤 속성도 NULL을 가질 수 없다. 보기 중 개체 무결성을 옳게 설명한 것은 4번뿐이다. 검증 기준: 개체 무결성(Entity Integrity): 기본키(Primary Key)를 구성하는 어떤 속성값도 널 (NULL) 값이나 중복값을 가질 수 없다는 규정이다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 기본키 열은 유일하고 NULL이 아니어야 하므로 개체 무결성 설명과 일치한다.
- PostgreSQL — Constraints
확인 위치: §5.5.4 Primary Keys
판정 연결: 기본키 열은 유일하고 NULL이 아니어야 하므로 개체 무결성 설명과 일치한다.
54. 데이터베이스 설계자가 다음 조건을 확인한다. 모든 속성값이 더 이상 분해할 수 없는 원자값만 갖도록 한 정규형은?
- 제3정규형
- BCNF
- 제1정규형
- 제2정규형
정답과 해설 보기
정답: 3
정답은 3번이다. 모든 속성값이 더 이상 분해되지 않는 원자값(atomic value)만 갖는 릴레이션이 제1정규형(1NF)이다.
선지별 해설
- 1번 ‘제3정규형’는 선택 조건과 다르다. 제3정규형은 2NF를 만족하면서 이행적 함수 종속을 제거한 상태다.
- 2번 ‘BCNF’는 선택 조건과 다르다. BCNF는 3NF를 만족하면서 모든 결정자가 후보키인 강한 제3정규형이다.
- 3번은 정답 선지다. 문항 조건에 부합한다. 반복 그룹이나 다중값 속성을 없애 모든 값을 원자값으로 만든 상태가 1NF다.
- 4번 ‘제2정규형’는 선택 조건과 다르다. 제2정규형은 1NF를 만족하면서 기본키에 대한 부분 함수 종속을 제거한 상태다.
정답 판정: 정답 판정: 정답은 3번이다. 모든 속성값이 더 이상 분해되지 않는 원자값(atomic value)만 갖는 릴레이션이 제1정규형(1NF)이다. 검증 기준: 제1정규형의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 각 속성 값이 더 나눌 수 없는 원자값인 관계가 제1정규형의 출발 조건이다.
- E. F. Codd — A Relational Model of Data (paper mirror)
확인 위치: §1.3 Normal form — atomic values
판정 연결: 각 속성 값이 더 나눌 수 없는 원자값인 관계가 제1정규형의 출발 조건이다.
55. 데이터베이스 설계자가 다음 조건을 확인한다. 다음 SQL 명령 중 성격이 다른 하나는?
- ALTER
- INSERT
- UPDATE
- DELETE
정답과 해설 보기
정답: 1
정답은 1번이다. ALTER는 테이블 구조를 변경하는 DDL이고, INSERT·UPDATE·DELETE는 데이터를 조작하는 DML이다.
선지별 해설
- 1번은 정답 선지다. 문항 조건에 부합한다. ALTER는 열 추가·삭제·타입 변경 등 스키마를 바꾸는 DDL이다.
- 2번 ‘INSERT’는 선택 조건과 다르다. INSERT는 새로운 튜플을 삽입하는 DML이다.
- 3번 ‘UPDATE’는 선택 조건과 다르다. UPDATE는 기존 튜플의 속성값을 수정하는 DML이다.
- 4번 ‘DELETE’는 선택 조건과 다르다. DELETE는 튜플을 삭제하는 DML이다. 구조가 아니라 행만 지우므로 DDL이 아니다.
정답 판정: 정답 판정: 정답은 1번이다. ALTER는 테이블 구조를 변경하는 DDL이고, INSERT·UPDATE·DELETE는 데이터를 조작하는 DML이다. 검증 기준: ALTER의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: INSERT·UPDATE·DELETE는 데이터 조작이고 ALTER는 객체 정의를 바꾸는 명령이다.
- PostgreSQL — Data Manipulation
확인 위치: Chapter 6 — INSERT, UPDATE, DELETE
판정 연결: INSERT·UPDATE·DELETE는 데이터 조작이고 ALTER는 객체 정의를 바꾸는 명령이다. - PostgreSQL — ALTER TABLE
확인 위치: ALTER TABLE DESCRIPTION
판정 연결: ALTER TABLE은 테이블 정의를 변경한다.
56. 데이터베이스 설계자가 다음 조건을 확인한다. 사용자에게 부여한 데이터베이스 권한을 회수하는 DCL 명령은?
- GRANT
- COMMIT
- REVOKE
- ROLLBACK
정답과 해설 보기
정답: 3
정답은 3번이다. REVOKE는 GRANT로 부여한 권한을 사용자에게서 회수하는 DCL 명령이다.
선지별 해설
- 1번 ‘GRANT’는 선택 조건과 다르다. GRANT는 권한을 부여하는 명령으로 회수와 반대 동작이다.
- 2번 ‘COMMIT’는 선택 조건과 다르다. COMMIT은 트랜잭션의 변경을 데이터베이스에 확정 반영하는 명령으로 권한 회수와 무관하다.
- 3번은 정답 선지다. 문항 조건에 부합한다. REVOKE가 이미 부여된 권한을 취소한다.
- 4번 ‘ROLLBACK’는 선택 조건과 다르다. ROLLBACK은 트랜잭션을 취소해 이전 상태로 되돌리는 명령으로 권한 회수와 무관하다.
정답 판정: 정답 판정: 정답은 3번이다. REVOKE는 GRANT로 부여한 권한을 사용자에게서 회수하는 DCL 명령이다. 검증 기준: REVOKE의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: REVOKE는 이전에 부여한 데이터베이스 객체 권한을 회수하는 명령이다.
- PostgreSQL — REVOKE
확인 위치: DESCRIPTION
판정 연결: REVOKE는 이전에 부여한 데이터베이스 객체 권한을 회수하는 명령이다.
57. 데이터베이스 설계자가 다음 조건을 확인한다. 다중 행 서브쿼리를 사용하는 SQL 문장으로 문법상 타당한 설명을 고르면?
- SELECT * FROM 사원 WHERE 부서번호 IN (SELECT 부서번호 FROM 부서);
- SELECT * FROM 사원 IN WHERE (SELECT 부서번호 FROM 부서);
- SELECT (FROM 사원) WHERE 부서번호 IN SELECT 부서번호;
- SELECT * FROM 사원 WHERE 부서번호 = SELECT 부서번호 FROM 부서;
정답과 해설 보기
정답: 1
정답은 1번이다. 서브쿼리는 괄호로 감싸야 하며, 여러 행을 반환하는 서브쿼리는 IN 같은 다중 행 연산자와 함께 써야 한다.
선지별 해설
- 1번은 정답 선지다. IN과 괄호로 감싼 서브쿼리를 사용해 문법과 의미가 모두 타당하다.
- 2번 ‘SELECT * FROM 사원 IN WHERE (SELECT 부서번호 FROM 부서);’는 선택 조건과 다르다. IN과 WHERE의 위치가 뒤바뀌어 문법 오류다.
- 3번 ‘SELECT (FROM 사원) WHERE 부서번호 IN SELECT 부서번호;’는 선택 조건과 다르다. SELECT 절에 FROM이 들어가고 서브쿼리 괄호도 없어 성립하지 않는다.
- 4번 ‘SELECT * FROM 사원 WHERE 부서번호 = SELECT 부서번호 FROM 부서;’는 선택 조건과 다르다. 서브쿼리에 괄호가 없고, 여러 행을 반환하는 서브쿼리에 단일 행 연산자 =를 써서 오류가 난다.
정답 판정: 정답 판정: 정답은 1번이다. 서브쿼리는 괄호로 감싸야 하며, 여러 행을 반환하는 서브쿼리는 IN 같은 다중 행 연산자와 함께 써야 한다. 검증 기준: SELECT * FROM 사원 WHERE 부서번호 IN (SELECT 부서번호 FROM 부서);의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: IN 뒤 괄호 안 SELECT가 여러 행을 반환하는 문법이 다중 행 서브쿼리 비교에 맞는다.
- PostgreSQL — Subquery Expressions
확인 위치: §9.24.2 IN subquery expression
판정 연결: IN 뒤 괄호 안 SELECT가 여러 행을 반환하는 문법이 다중 행 서브쿼리 비교에 맞는다.
58. 데이터베이스 설계자가 다음 조건을 확인한다. 연속적인 값의 범위를 기준으로 데이터를 분할하는 파티셔닝 방식은?
- List Partitioning
- Composite Partitioning
- Range Partitioning
- Hash Partitioning
정답과 해설 보기
정답: 3
정답은 3번이다. Range Partitioning은 날짜나 숫자처럼 연속적인 값의 범위를 기준으로 파티션을 나누는 방식이다.
선지별 해설
- 1번 ‘List Partitioning’는 선택 조건과 다르다. List Partitioning은 지역 코드처럼 미리 정의한 이산 값 목록으로 나눈다.
- 2번 ‘Composite Partitioning’는 선택 조건과 다르다. Composite Partitioning은 두 방식을 결합(예: Range-Hash)한 것이다.
- 3번은 정답 선지다. 범위 기준 분할이어서 선택해야 한다. 예: 월별·연도별 파티션.
- 4번 ‘Hash Partitioning’는 선택 조건과 다르다. Hash Partitioning은 키에 해시 함수를 적용해 균등 분산시키는 방식이다.
정답 판정: 정답 판정: 정답은 3번이다. Range Partitioning은 날짜나 숫자처럼 연속적인 값의 범위를 기준으로 파티션을 나누는 방식이다. 검증 기준: Range Partitioning의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 연속 값 구간의 하한·상한을 기준으로 행을 나누는 방식이 range partitioning이다.
- PostgreSQL — Table Partitioning
확인 위치: §5.12.2 Declarative Partitioning — Range Partitioning
판정 연결: 연속 값 구간의 하한·상한을 기준으로 행을 나누는 방식이 range partitioning이다.
59. 데이터베이스 키의 정의로 맞는 것은?
- 외래키는 자기 릴레이션의 튜플을 유일하게 식별하는 최소 속성 집합이다.
- 슈퍼키는 튜플을 유일하게 식별하며 최소성은 요구하지 않는 속성 집합이다.
- 기본키는 중복값과 NULL을 허용한다.
- 대체키는 후보키 가운데 기본키로 선택된 키를 뜻한다.
정답과 해설 보기
정답: 2
슈퍼키는 릴레이션의 튜플을 유일하게 식별하는 속성 집합이며 최소성을 필수로 요구하지 않는다. 그중 최소인 슈퍼키가 후보키다.
선지별 해설
- 1번은 후보키의 성질을 외래키에 잘못 붙였다.
- 2번은 슈퍼키의 유일성과 최소성 비필수 조건을 정확히 설명하므로 정답이다.
- 3번 기본키는 유일성과 NOT NULL 조건을 만족해야 한다.
- 4번 대체키는 후보키 중 기본키로 선택되지 않은 나머지 키다.
정답 판정: 정답 판정: 슈퍼키는 릴레이션의 튜플을 유일하게 식별하는 속성 집합이며 최소성을 필수로 요구하지 않는다. 그중 최소인 슈퍼키가 후보키다. 검증 기준: 슈퍼키·후보키·기본키·외래키의 유일성, 최소성, 참조 역할을 구분한다. 원문 대조: 슈퍼키는 튜플을 유일하게 식별하지만 최소성을 요구하지 않고 최소 슈퍼키가 후보키다.
- SWEBOK Computing Foundations — Databases
확인 위치: Computing Foundations KA §6.3 Databases — key types
판정 연결: 슈퍼키는 튜플을 유일하게 식별하지만 최소성을 요구하지 않고 최소 슈퍼키가 후보키다.
60. 트랜잭션이 마지막 연산을 실행했지만 커밋 결과의 영속성이 아직 확정되지 않은 상태는?
- 활동(Active)
- 완료(Committed)
- 부분 완료(Partially Committed)
- 철회(Aborted)
정답과 해설 보기
정답: 3
마지막 명령은 끝났지만 장애 없이 커밋 기록이 확정되기 전인 상태가 부분 완료다. 확정 뒤에는 완료 상태가 된다.
선지별 해설
- 1번 활동은 트랜잭션 명령을 아직 실행 중인 상태다.
- 2번 완료는 커밋이 성공해 결과가 확정된 상태다.
- 3번 부분 완료는 마지막 연산 뒤 커밋 확정 전 상태이므로 정답이다.
- 4번 철회는 오류 등으로 작업을 취소하고 되돌린 상태다.
정답 판정: 정답 판정: 마지막 명령은 끝났지만 장애 없이 커밋 기록이 확정되기 전인 상태가 부분 완료다. 확정 뒤에는 완료 상태가 된다. 검증 기준: 트랜잭션 상태 전이에서 마지막 연산 완료와 커밋 확정 사이를 구분한다. 원문 대조: 마지막 명령을 실행했지만 커밋의 영속성이 확정되기 전 상태가 partially committed다.
- Database System Concepts — Transactions slides
확인 위치: Transaction State diagram — partially committed
판정 연결: 마지막 명령을 실행했지만 커밋의 영속성이 확정되기 전 상태가 partially committed다.
정보처리기사 필기 기출문제 · 프로그래밍 언어 활용
61. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. C언어에서 식별자로 허용되지 않는 변수명은?
- text-color
- _korea
- amount
- student2019
정답과 해설 보기
정답: 1
정답은 1번이다. text-color는 하이픈(-)을 포함하여 C 식별자 규칙에 어긋난다.
선지별 해설
- 1번은 정답 선지다. 하이픈은 변수명에 쓸 수 없으므로 정답으로 판정된다.
- 2번 ‘_korea’는 선택 조건과 다르다. _korea는 밑줄로 시작 가능하여 유효하다.
- 3번 ‘amount’는 선택 조건과 다르다. amount는 유효한 변수명이다.
- 4번 ‘student2019’는 선택 조건과 다르다. student2019는 문자로 시작하고 숫자를 포함해 유효하다.
정답 판정: 정답 판정: 정답은 1번이다. text-color는 하이픈(-)을 포함하여 C 식별자 규칙에 어긋난다. 검증 기준: text-color의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: C 식별자에는 하이픈을 사용할 수 없으므로 text-color는 두 토큰과 연산자로 해석된다.
- ISO C committee draft N1570
확인 위치: §6.4.2.1 Identifiers
판정 연결: C 식별자에는 하이픈을 사용할 수 없으므로 text-color는 두 토큰과 연산자로 해석된다.
62. 다음 C 프로그램의 출력은?
“`c
#include <stdio.h>
int f(int n){ if(n<=1) return n; return f(n-1)+f(n-2)+1; }
int main(void){ printf("%d", f(6)); }
“`
- 12
- 18
- 20
- 21
정답과 해설 보기
정답: 3
f(0)=0, f(1)=1이고 f(n)=f(n-1)+f(n-2)+1이다. 차례로 2, 4, 7, 12, 20이 되어 f(6)은 20이다.
선지별 해설
- 1번 12는 f(5)의 값이다.
- 2번은 점화식의 상수 1 누적을 빠뜨린 계산이다.
- 3번은 종료 조건부터 f(6)까지 계산한 값이므로 정답이다.
- 4번은 마지막 단계에서 상수 1을 한 번 더 더한 값이다.
정답 판정: 정답 판정: f(0)=0, f(1)=1이고 f(n)=f(n-1)+f(n-2)+1이다. 차례로 2, 4, 7, 12, 20이 되어 f(6)은 20이다. 검증 기준: C 재귀 호출의 종료 조건과 점화식을 작은 인자부터 재계산한다. 원문 대조: 종료 조건부터 재귀 반환값을 계산하면 f(2)=2, f(3)=4, f(4)=7, f(5)=12, f(6)=20이다.
독립 계산·실행 추적: f(0)=0, f(1)=1, f(2)=2, f(3)=4, f(4)=7, f(5)=12, f(6)=12+7+1=20.
- ISO C committee draft N1570
확인 위치: §6.5.2.2 Function calls
판정 연결: 종료 조건부터 재귀 반환값을 계산하면 f(2)=2, f(3)=4, f(4)=7, f(5)=12, f(6)=20이다.
63. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 파이썬에서 여러 자료를 한 번에 저장하는 자료형으로만 묶인 것은?
- list, set, tuple
- int, float, str
- float, bool, list
- bool, tuple, set
정답과 해설 보기
정답: 1
정답은 1번이다. list, set, tuple은 여러 값을 하나의 객체에 담는 파이썬의 대표적인 컬렉션(군집) 자료형이다.
선지별 해설
- 1번은 정답 선지다. 세 자료형 모두 여러 원소를 저장하는 군집 자료형이어서 선택해야 한다.
- 2번 ‘int, float, str’는 선택 조건과 다르다. int, float은 단일 값 자료형이고 str은 문자 시퀀스지만 군집 자료형으로 함께 묶기에는 부적절하다.
- 3번 ‘float, bool, list’는 선택 조건과 다르다. float과 bool이 단일 값 자료형이라 조건을 만족하지 않는다.
- 4번 ‘bool, tuple, set’는 선택 조건과 다르다. bool이 단일 값(True/False) 자료형이라 조건을 만족하지 않는다.
정답 판정: 정답 판정: 정답은 1번이다. list, set, tuple은 여러 값을 하나의 객체에 담는 파이썬의 대표적인 컬렉션(군집) 자료형이다. 검증 기준: list, set, tuple의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: list·tuple은 시퀀스 컨테이너이고 set도 여러 원소를 담는 집합 컨테이너다.
- Python Standard Types
확인 위치: Sequence Types and Set Types
판정 연결: list·tuple은 시퀀스 컨테이너이고 set도 여러 원소를 담는 집합 컨테이너다.
64. 프레임 3개가 비어 있는 상태에서 참조열 `1, 2, 3, 1, 4, 2, 5, 1, 2`를 FIFO로 처리한다. 페이지 부재 횟수는?
- 5회
- 6회
- 7회
- 8회
정답과 해설 보기
정답: 3
1, 2, 3의 최초 적재에서 3회, 4·5·1·2의 교체에서 4회가 발생한다. FIFO는 적중 시 순서를 바꾸지 않으므로 총 7회다.
선지별 해설
- 1번은 후반 교체 두 번을 누락한 값이다.
- 2번은 마지막 2 참조에서 발생하는 교체를 누락한 값이다.
- 3번은 초기 적재와 네 번의 교체를 모두 센 값이므로 정답이다.
- 4번은 적중한 참조 하나를 부재로 잘못 센 값이다.
정답 판정: 정답 판정: 1, 2, 3의 최초 적재에서 3회, 4·5·1·2의 교체에서 4회가 발생한다. FIFO는 적중 시 순서를 바꾸지 않으므로 총 7회다. 검증 기준: FIFO는 적중 시 적재 순서를 바꾸지 않는다는 규칙으로 프레임 상태를 추적한다. 원문 대조: FIFO는 적중 때 순서를 바꾸지 않고 가장 먼저 적재된 페이지를 교체하므로 주어진 참조열의 부재는 7회다.
독립 계산·실행 추적: 1(F),2(F),3(F),1(H),4(F·1교체),2(H),5(F·2교체),1(F·3교체),2(F·4교체)로 F는 7회다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: Computing Foundations KA §5.3 Operating Systems — page replacement
판정 연결: FIFO는 적중 때 순서를 바꾸지 않고 가장 먼저 적재된 페이지를 교체하므로 주어진 참조열의 부재는 7회다.
65. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 교착상태 발생의 필요 충분 조건이 해당하지 않는 것을 고르면?
- 점유와 대기(Hold and Wait)
- 환형 대기(Circular Wait)
- 선점(Preemption)
- 상호배제(Mutual Exclusion)
정답과 해설 보기
정답: 3
정답은 3번이다. 교착상태 조건은 비선점(non-preemption)이므로 선점은 조건이 아니다.
선지별 해설
- 1번 ‘점유와 대기(Hold and Wait)’는 선택 조건과 다르다. 점유와 대기는 교착상태 조건이다.
- 2번 ‘환형 대기(Circular Wait)’는 선택 조건과 다르다. 환형 대기는 교착상태 조건이다.
- 3번은 정답 선지다. 비선점이 조건이며 선점은 아니므로 정답으로 판정된다.
- 4번 ‘상호배제(Mutual Exclusion)’는 선택 조건과 다르다. 상호 배제는 교착상태 4대 조건 중 하나이다.
정답 판정: 정답 판정: 정답은 3번이다. 교착상태 조건은 비선점(non-preemption)이므로 선점은 조건이 아니다. 검증 기준: 선점(Preemption)의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 교착상태에는 상호배제·점유대기·비선점·환형대기가 필요하므로 선점 가능은 조건이 아니다.
- IBM z/TPF — deadlock conditions
확인 위치: Definition and necessary resource-wait conditions
판정 연결: 교착상태에는 상호배제·점유대기·비선점·환형대기가 필요하므로 선점 가능은 조건이 아니다.
66. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. TCP/IP 네트워크에서 IP 주소를 MAC 주소로 변환하는 프로토콜은?
- TCP
- ICMP
- UDP
- ARP
정답과 해설 보기
정답: 4
정답은 4번이다. ARP는 IP 주소를 MAC(물리) 주소로 변환하는 프로토콜이다.
선지별 해설
- 1번 ‘TCP’는 선택 조건과 다르다. TCP는 연결형 전송 프로토콜이다.
- 2번 ‘ICMP’는 선택 조건과 다르다. ICMP는 오류·제어 메시지 전달 프로토콜이다.
- 3번 ‘UDP’는 선택 조건과 다르다. UDP는 비연결형 전송 프로토콜이다.
- 4번은 정답 선지다. IP→MAC 변환은 ARP이어서 선택해야 한다.
정답 판정: 정답 판정: 정답은 4번이다. ARP는 IP 주소를 MAC(물리) 주소로 변환하는 프로토콜이다. 검증 기준: ARP의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: ARP는 같은 링크에서 프로토콜 주소인 IPv4 주소에 대응하는 하드웨어 주소를 알아낸다.
- IETF RFC 826 — Address Resolution Protocol
확인 위치: Packet format and address resolution operation
판정 연결: ARP는 같은 링크에서 프로토콜 주소인 IPv4 주소에 대응하는 하드웨어 주소를 알아낸다.
67. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. IP 주소와 호스트 이름 간의 변환을 제공하는 시스템은?
- Modem
- DNS
- NFS
- Router
정답과 해설 보기
정답: 2
정답은 2번이다. DNS(Domain Name System)는 도메인·호스트 이름과 IP 주소를 상호 변환해 주는 분산 이름 해석 시스템이다.
선지별 해설
- 1번 ‘Modem’는 선택 조건과 다르다. 모뎀은 디지털 신호와 아날로그 신호를 변복조하는 장비다.
- 2번은 정답 선지다. 이름과 주소의 변환을 담당하므로 정답으로 판정된다.
- 3번 ‘NFS’는 선택 조건과 다르다. NFS는 네트워크를 통해 원격 파일 시스템을 공유하는 프로토콜이다.
- 4번 ‘Router’는 선택 조건과 다르다. 라우터는 네트워크 간 패킷 경로를 결정·전달하는 장비다.
정답 판정: 정답 판정: 정답은 2번이다. DNS(Domain Name System)는 도메인·호스트 이름과 IP 주소를 상호 변환해 주는 분산 이름 해석 시스템이다. 검증 기준: DNS의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: DNS는 도메인 이름과 자원 레코드를 분산 데이터베이스로 관리해 이름과 주소의 대응을 제공한다.
- IETF RFC 1034 — Domain Names Concepts
확인 위치: §2.4 Elements of the DNS
판정 연결: DNS는 도메인 이름과 자원 레코드를 분산 데이터베이스로 관리해 이름과 주소의 대응을 제공한다.
68. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 다음 중 프로토콜의 포트 번호가 올바르지 않은 것은?
- TFTP – UDP 69
- SNMP – UDP 161
- RPC – TCP 112
- TELNET – TCP 23
정답과 해설 보기
정답: 3
정답은 3번이다. RPC의 포트 매퍼(portmapper)는 TCP/UDP 111번을 사용하므로 112번은 잘못된 연결이다.
선지별 해설
- 1번 ‘TFTP – UDP 69’는 선택 조건과 다르다. TFTP는 UDP 69번을 사용하므로 타당하다.
- 2번 ‘SNMP – UDP 161’는 선택 조건과 다르다. SNMP는 UDP 161번(트랩은 162번)을 사용하므로 타당하다.
- 3번은 정답 선지다. RPC는 111번이 정확한 포트이므로 이 항목이 부적절하다.
- 4번 ‘TELNET – TCP 23’는 선택 조건과 다르다. TELNET은 TCP 23번을 사용하므로 타당하다.
정답 판정: 정답 판정: 정답은 3번이다. RPC의 포트 매퍼(portmapper)는 TCP/UDP 111번을 사용하므로 112번은 잘못된 연결이다. 검증 기준: RPC – TCP 112의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: RPC 포트매퍼의 등록 포트는 111이므로 TCP 112라는 연결이 틀리다.
- IANA Service Name and Port Number Registry
확인 위치: Registry entries: tftp 69/udp, snmp 161/udp, sunrpc 111, telnet 23/tcp
판정 연결: RPC 포트매퍼의 등록 포트는 111이므로 TCP 112라는 연결이 틀리다.
69. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 다음 중 C Class에 속하는 IP Address는?
- 10.3.2.1
- 225.2.4.1
- 172.16.98.3
- 200.168.30.1
정답과 해설 보기
정답: 4
정답은 4번이다. C 클래스는 첫 옥텟이 192~223이며 200.168.30.1이 이 범위에 든다.
선지별 해설
- 1번 ‘10.3.2.1’는 선택 조건과 다르다. 10은 1~126 범위로 A 클래스(사설 대역)다.
- 2번 ‘225.2.4.1’는 선택 조건과 다르다. 225는 224~239 범위로 멀티캐스트용 D 클래스다.
- 3번 ‘172.16.98.3’는 선택 조건과 다르다. 172는 128~191 범위로 B 클래스다.
- 4번은 정답 선지다. 첫 옥텟 200이 192~223 범위이므로 C 클래스로 정답으로 판정된다.
정답 판정: 정답 판정: 정답은 4번이다. C 클래스는 첫 옥텟이 192~223이며 200.168.30.1이 이 범위에 든다. 검증 기준: 200.168.30.1의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 역사적 classful 주소에서 첫 옥텟 200은 C 클래스 범위이고 10은 A, 172는 B, 225는 D다.
독립 계산·실행 추적: 첫 옥텟: 10=00001010(A), 172=10101100(B), 200=11001000(C), 225=11100001(D). 따라서 200.168.30.1.
- IETF RFC 791 — Internet Protocol
확인 위치: §3.2 Addressing — class A, B and C high-order bits
판정 연결: 역사적 classful 주소에서 첫 옥텟 200은 C 클래스 범위이고 10은 A, 172는 B, 225는 D다.
70. 크기가 21KB, 32KB, 48KB, 64KB인 고정 분할 가운데 하나에 17KB 작업을 Best Fit으로 배치한다. 선택한 분할의 내부 단편화는?
- 4KB
- 15KB
- 31KB
- 47KB
정답과 해설 보기
정답: 1
17KB를 수용할 수 있는 가장 작은 분할은 21KB다. 사용되지 않는 내부 공간은 21-17=4KB이다.
선지별 해설
- 1번은 Best Fit으로 선택한 21KB와 작업 17KB의 차이이므로 정답이다.
- 2번은 32KB 분할을 선택했을 때의 차이지만 Best Fit이 아니다.
- 3번은 48KB 분할을 선택했을 때의 차이다.
- 4번은 가장 큰 64KB 분할을 선택했을 때의 차이다.
정답 판정: 정답 판정: 17KB를 수용할 수 있는 가장 작은 분할은 21KB다. 사용되지 않는 내부 공간은 21-17=4KB이다. 검증 기준: Best Fit의 최소 수용 분할 선택과 내부 단편화 계산을 적용한다. 원문 대조: Best Fit은 작업을 수용하는 가장 작은 21KB 분할을 선택하므로 21-17=4KB가 남는다.
독립 계산·실행 추적: 수용 가능한 분할 21,32,48,64KB 중 최솟값은 21KB. 내부 단편화=21-17=4KB.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: Computing Foundations KA §5.3 Memory Management — allocation
판정 연결: Best Fit은 작업을 수용하는 가장 작은 21KB 분할을 선택하므로 21-17=4KB가 남는다.
71. C에서 `int a=2, b=5; int r=(++a, a++, b++);`를 실행한 직후 r의 값은?
- 3
- 4
- 5
- 6
정답과 해설 보기
정답: 3
콤마 연산자는 왼쪽부터 평가하고 가장 오른쪽 피연산자의 값을 전체 결과로 삼는다. b++는 증가 전 값 5를 내므로 r은 5다.
선지별 해설
- 1번은 첫 번째 ++a의 결과만 본 값이다.
- 2번은 a++ 뒤 a의 값이지만 콤마식의 최종 값이 아니다.
- 3번은 마지막 피연산자 b++가 내는 증가 전 값이므로 정답이다.
- 4번은 b가 증가한 뒤의 저장값이며 b++ 식 자체의 값은 아니다.
정답 판정: 정답 판정: 콤마 연산자는 왼쪽부터 평가하고 가장 오른쪽 피연산자의 값을 전체 결과로 삼는다. b++는 증가 전 값 5를 내므로 r은 5다. 검증 기준: C 콤마 연산자의 평가 순서와 후위 증가식의 값 규칙을 적용한다. 원문 대조: 콤마식은 왼쪽부터 평가한 뒤 마지막 b++의 증가 전 값 5를 전체 값으로 낸다.
독립 계산·실행 추적: ++a로 a=3, a++ 식의 값은 3이고 이후 a=4, 마지막 b++ 식의 값은 증가 전 5. 콤마식 전체 r=5.
- ISO C committee draft N1570
확인 위치: §6.5.17 Comma operator; §6.5.2.4 Postfix increment
판정 연결: 콤마식은 왼쪽부터 평가한 뒤 마지막 b++의 증가 전 값 5를 전체 값으로 낸다.
72. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. Java에서 정수 5를 0으로 나눌 때 가장 먼저 처리할 수 있는 예외 형식은?
- ArithmeticException
- NullPointerException
- ArrayIndexOutOfBoundsException
- IOException
정답과 해설 보기
정답: 1
정답은 1번이다. 정수를 0으로 나누면 JVM이 산술 오류로 ArithmeticException(/ by zero)을 던진다.
선지별 해설
- 1번은 정답 선지다. 정수 나눗셈의 0 나누기에서 발생하는 예외로 정답으로 판정된다.
- 2번 ‘NullPointerException’는 선택 조건과 다르다. NullPointerException은 null 참조의 멤버에 접근할 때 발생한다.
- 3번 ‘ArrayIndexOutOfBoundsException’는 선택 조건과 다르다. ArrayIndexOutOfBoundsException은 배열 범위를 벗어난 인덱스 접근 시 발생한다.
- 4번 ‘IOException’는 선택 조건과 다르다. IOException은 입출력 실패 시 발생하는 검사 예외다.
정답 판정: 정답 판정: 정답은 1번이다. 정수를 0으로 나누면 JVM이 산술 오류로 ArithmeticException(/ by zero)을 던진다. 검증 기준: ArithmeticException의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: Java 정수 나눗셈에서 제수가 0이면 ArithmeticException이 발생한다.
- Oracle Java Language Specification
확인 위치: JLS §15.17.2 Division Operator and §11 Exceptions
판정 연결: Java 정수 나눗셈에서 제수가 0이면 ArithmeticException이 발생한다.
73. C의 반복문 안에서 `break;`가 실행될 때의 동작은?
- 가장 가까운 반복문을 즉시 종료한다.
- 현재 반복만 건너뛰고 다음 반복을 수행한다.
- 조건식을 무시하고 무한 반복한다.
- 프로그램 전체를 종료한다.
정답과 해설 보기
정답: 1
C의 break 문은 자신을 둘러싼 가장 가까운 반복문 또는 switch 문을 끝낸다.
선지별 해설
- 1번은 C 표준의 break 동작과 일치하므로 정답이다.
- 2번은 continue 문의 동작이다.
- 3번은 break와 반대되는 설명이다.
- 4번은 전체 프로세스를 종료하는 exit 등의 동작과 혼동한 것이다.
정답 판정: 정답 판정: C의 break 문은 자신을 둘러싼 가장 가까운 반복문 또는 switch 문을 끝낸다. 검증 기준: C 표준의 break statement 제어 전달 규칙을 적용한다. 원문 대조: break는 자신을 둘러싼 가장 가까운 반복문 또는 switch 문을 즉시 끝낸다.
- ISO C committee draft N1570
확인 위치: §6.8.6.3 The break statement
판정 연결: break는 자신을 둘러싼 가장 가까운 반복문 또는 switch 문을 즉시 끝낸다.
74. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. Python의 except ___:에서 빈칸에 단독으로 식별자로 허용되지 않는 것은?
- 예외 클래스 as 변수
- 변수 이름만 사용
- 아무것도 쓰지 않음
- 예외 클래스
정답과 해설 보기
정답: 2
정답은 2번이다. except에는 잡을 예외의 '클래스(타입)'가 와야 하며, 정의되지 않은 임의의 변수 이름만 단독으로 쓰면 예외 타입으로 해석할 수 없어 사용할 수 없다.
선지별 해설
- 1번 ‘예외 클래스 as 변수’는 선택 조건과 다르다. except ValueError as e:는 예외 객체를 변수에 바인딩하는 정식 문법이다.
- 2번은 정답 선지다. 예외 클래스가 아닌 일반 변수 이름만 쓰면 해당 이름이 예외 타입이 아니므로 단독 사용이 불가하다(정답).
- 3번 ‘아무것도 쓰지 않음’는 선택 조건과 다르다. except: 형태로 아무것도 쓰지 않으면 모든 예외를 잡는 bare except가 되어 문법상 허용된다.
- 4번 ‘예외 클래스’는 선택 조건과 다르다. except ValueError:처럼 예외 클래스를 지정하는 것이 가장 기본적인 형태다.
정답 판정: 정답 판정: 정답은 2번이다. except에는 잡을 예외의 '클래스(타입)'가 와야 하며, 정의되지 않은 임의의 변수 이름만 단독으로 쓰면 예외 타입으로 해석할 수 없어 사용할 수 없다. 검증 기준: 변수 이름만 사용의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: except에는 예외 형식, 예외 형식 as 이름, 또는 bare except가 올 수 있지만 변수 이름만 예외 형식처럼 쓰는 것은 유효한 예외 매칭이 아니다.
- Python Reference — try statement
확인 위치: §8.4.2 except clause grammar
판정 연결: except에는 예외 형식, 예외 형식 as 이름, 또는 bare except가 올 수 있지만 변수 이름만 예외 형식처럼 쓰는 것은 유효한 예외 매칭이 아니다.
75. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. Java의 예외(Exception)에 관한 기술로 적절하지 않은 설명을 고르면?
- 존재하지 않는 파일을 읽으려고 하는 경우에 발생하는 오류
- 문법 오류로 인해 발생한 것
- 오동작이나 결과에 악영향을 미칠 수 있는 실행시간 동안에 발생한 오류
- 배열의 인덱스가 그 범위를 넘어서는 경우 발생하는 오류
정답과 해설 보기
정답: 2
정답은 2번이다. 예외(Exception)는 실행 중(runtime)에 발생하는 비정상 상황을 뜻하며, 컴파일 이전에 걸러지는 문법 오류(syntax error)는 예외가 아니다.
선지별 해설
- 1번 ‘존재하지 않는 파일을 읽으려고 하는 경우에 발생하는 오류’는 선택 조건과 다르다. 존재하지 않는 파일 접근은 FileNotFoundException(IOException 계열)으로 예외에 분류된다.
- 2번은 정답 선지다. 문법 오류는 컴파일 단계에서 발생하는 오류로 예외 처리 대상이 아니다(부적절한 설명, 정답).
- 3번 ‘오동작이나 결과에 악영향을 미칠 수 있는 실행시간 동안에 발생한 오류’는 선택 조건과 다르다. 실행시간에 발생해 결과에 악영향을 주는 오류라는 설명은 예외의 정의에 부합한다.
- 4번 ‘배열의 인덱스가 그 범위를 넘어서는 경우 발생하는 오류’는 선택 조건과 다르다. 배열 범위를 벗어난 접근은 ArrayIndexOutOfBoundsException으로 대표적인 예외다.
정답 판정: 정답 판정: 정답은 2번이다. 예외(Exception)는 실행 중(runtime)에 발생하는 비정상 상황을 뜻하며, 컴파일 이전에 걸러지는 문법 오류(syntax error)는 예외가 아니다. 검증 기준: 문법 오류로 인해 발생한 것의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 파일·배열 범위 문제는 실행 중 예외가 될 수 있지만 문법 오류는 컴파일 단계 진단이다.
- Oracle Java Language Specification
확인 위치: JLS Chapter 11 Exceptions; §15.10.4 Array Access
판정 연결: 파일·배열 범위 문제는 실행 중 예외가 될 수 있지만 문법 오류는 컴파일 단계 진단이다.
76. 원격 서버 운영에 사용하는 SSH(Secure Shell)의 표준 동작과 다른 설명은?
- SSH 서버는 기본적으로 TCP 220번 포트를 사용한다.
- 전송 구간의 데이터는 암호화된다.
- 공개키 인증에서는 클라이언트 공개키를 서버 계정에 등록할 수 있다.
- 원격 명령 실행과 대화형 셸 서비스를 제공할 수 있다.
정답과 해설 보기
정답: 1
SSH 전송 계층 규격은 서버가 기본적으로 TCP 22번 포트에서 연결을 기다린다고 명시한다. 따라서 기본 포트를 220번이라고 한 설명이 틀리며, 암호화·공개키 인증·원격 셸은 SSH의 일반적인 기능이다.
선지별 해설
- 1번은 표준 기본 포트 22를 220으로 잘못 적었으므로 정답이다.
- 2번 SSH 전송 계층은 기밀성과 무결성을 제공하므로 맞다.
- 3번 공개키 인증에서는 서버가 허용할 클라이언트 공개키를 등록할 수 있다.
- 4번 SSH 연결 위에서 원격 명령 실행과 대화형 셸 채널을 사용할 수 있다.
정답 판정: 정답 판정: SSH 전송 계층 규격은 서버가 기본적으로 TCP 22번 포트에서 연결을 기다린다고 명시한다. 따라서 기본 포트를 220번이라고 한 설명이 틀리며, 암호화·공개키 인증·원격 셸은 SSH의 일반적인 기능이다. 검증 기준: SSH 전송 계층 규격의 기본 포트와 보안·채널 기능을 구분한다. 원문 대조: SSH 서버의 기본 포트는 22이며 220이라는 설명은 표준 기본값과 다르다.
- IETF RFC 4253 — SSH Transport Layer
확인 위치: §4 Connection Setup — server listens on port 22
판정 연결: SSH 서버의 기본 포트는 22이며 220이라는 설명은 표준 기본값과 다르다.
77. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. Python 자료형 중 생성 후 원소를 변경할 수 없는 것은?
- tuple
- dict
- set
- list
정답과 해설 보기
정답: 1
정답은 1번이다. tuple은 생성 후 원소를 추가·삭제·변경할 수 없는 불변(immutable) 시퀀스다.
선지별 해설
- 1번은 정답 선지다. tuple은 불변이라 t[0] = x가 TypeError를 발생시킨다(정답).
- 2번 ‘dict’는 선택 조건과 다르다. dict는 키 추가·삭제·값 변경이 자유로운 가변 자료형이다.
- 3번 ‘set’는 선택 조건과 다르다. set은 add/remove로 원소를 바꿀 수 있는 가변 자료형이다(불변형은 frozenset).
- 4번 ‘list’는 선택 조건과 다르다. list는 인덱스 대입, append, remove가 모두 가능한 가변 자료형이다.
정답 판정: 정답 판정: 정답은 1번이다. tuple은 생성 후 원소를 추가·삭제·변경할 수 없는 불변(immutable) 시퀀스다. 검증 기준: tuple의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: tuple은 불변 시퀀스이고 list·dict·set은 생성 뒤 원소를 변경할 수 있는 가변 컨테이너다.
- Python Standard Types
확인 위치: Tuple immutable sequence type
판정 연결: tuple은 불변 시퀀스이고 list·dict·set은 생성 뒤 원소를 변경할 수 있는 가변 컨테이너다.
78. C의 비트 OR 연산 `9 | 6`의 결과는?
- 7
- 9
- 14
- 15
정답과 해설 보기
정답: 4
9는 1001(2), 6은 0110(2)이다. 자리별 OR 결과는 1111(2)이므로 십진수 15다.
선지별 해설
- 1번은 하위 세 비트만 본 값이다.
- 2번은 첫 번째 피연산자 값일 뿐 OR 결과가 아니다.
- 3번 1110(2)은 최하위 비트 계산을 누락한 값이다.
- 4번 1111(2)은 각 자리 OR을 정확히 적용한 값이므로 정답이다.
정답 판정: 정답 판정: 9는 1001(2), 6은 0110(2)이다. 자리별 OR 결과는 1111(2)이므로 십진수 15다. 검증 기준: 두 정수를 이진수로 바꾸고 자리별 OR을 계산한다. 원문 대조: 9=1001₂와 6=0110₂를 자리별 OR하면 1111₂, 즉 15다.
독립 계산·실행 추적: 9=1001₂, 6=0110₂, 자리별 OR=1111₂=15.
- ISO C committee draft N1570
확인 위치: §6.5.12 Bitwise inclusive OR operator
판정 연결: 9=1001₂와 6=0110₂를 자리별 OR하면 1111₂, 즉 15다.
79. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. UNIX에서 새로운 프로세스를 생성하는 시스템 호출은?
- chmod
- ls
- cat
- fork
정답과 해설 보기
정답: 4
정답은 4번이다. fork()는 현재 프로세스를 복제해 자식 프로세스를 만드는 UNIX 시스템 호출이다.
선지별 해설
- 1번 ‘chmod’는 선택 조건과 다르다. chmod는 파일의 접근 권한을 변경하는 명령어/시스템 호출이다.
- 2번 ‘ls’는 선택 조건과 다르다. ls는 디렉터리 목록을 출력하는 셸 명령어이지 시스템 호출이 아니다.
- 3번 ‘cat’는 선택 조건과 다르다. cat은 파일 내용을 출력·연결하는 명령어다.
- 4번은 정답 선지다. fork는 부모 프로세스를 복제해 새 프로세스를 생성한다(정답).
정답 판정: 정답 판정: 정답은 4번이다. fork()는 현재 프로세스를 복제해 자식 프로세스를 만드는 UNIX 시스템 호출이다. 검증 기준: fork의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: POSIX fork()는 호출 프로세스를 복제해 새 자식 프로세스를 생성한다.
- The Open Group POSIX — fork()
확인 위치: DESCRIPTION and RETURN VALUE
판정 연결: POSIX fork()는 호출 프로세스를 복제해 새 자식 프로세스를 생성한다.
80. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 오류 제어에 사용되는 자동반복 요청방식(ARQ)이 해당하지 않는 것을 고르면?
- Stop-and-wait ARQ
- Go-Back-N ARQ
- Selective-Repeat ARQ
- Non-Acknowledge ARQ
정답과 해설 보기
정답: 4
정답은 4번이다. ARQ 방식은 Stop-and-Wait, Go-Back-N, Selective-Repeat(그리고 적응적 ARQ)로 분류되며 'Non-Acknowledge ARQ'라는 방식은 존재하지 않는다.
선지별 해설
- 1번 ‘Stop-and-wait ARQ’는 선택 조건과 다르다. 한 프레임을 보내고 ACK를 기다린 뒤 다음을 보내는 가장 단순한 ARQ다.
- 2번 ‘Go-Back-N ARQ’는 선택 조건과 다르다. 오류 발생 시 해당 프레임 이후 전부를 재전송하는 방식이다.
- 3번 ‘Selective-Repeat ARQ’는 선택 조건과 다르다. 오류가 난 프레임만 골라 재전송해 효율이 높지만 수신 버퍼가 필요하다.
- 4번은 정답 선지다. 표준 ARQ 분류에 없는 명칭이다(정답).
정답 판정: 정답 판정: 정답은 4번이다. ARQ 방식은 Stop-and-Wait, Go-Back-N, Selective-Repeat(그리고 적응적 ARQ)로 분류되며 'Non-Acknowledge ARQ'라는 방식은 존재하지 않는다. 검증 기준: Non-Acknowledge ARQ의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: ARQ는 확인 응답과 재전송을 이용하며 Stop-and-Wait·Go-Back-N·Selective Repeat가 대표 방식이다.
- IETF RFC 3366 — Link-Layer ARQ
확인 위치: §2 Link-layer ARQ — feedback and retransmission
판정 연결: ARQ는 확인 응답과 재전송을 이용하며 Stop-and-Wait·Go-Back-N·Selective Repeat가 대표 방식이다.
정보처리기사 필기 기출문제 · 정보시스템 구축관리
81. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 다음 내용이 설명하는 것은? (사물 통신, 사물 인터넷에서 사용되는 발행-구독(Publish-Subscribe) 기반의 경량 메시징 프로토콜로, 메시지 매개자(Broker)를 통해 통신한다.)
- TELNET
- GPN
- MQTT
- GRID
정답과 해설 보기
정답: 3
정답은 3번이다. MQTT는 발행/구독(Pub-Sub) 구조의 경량 메시지 전송 프로토콜로, 저전력·저대역폭 IoT 환경에 적합하다.
선지별 해설
- 1번 ‘TELNET’는 선택 조건과 다르다. TELNET은 암호화되지 않은 원격 접속 프로토콜이다.
- 2번 ‘GPN’는 선택 조건과 다르다. GPN은 경량 메시지 전송과 무관한 용어다.
- 3번은 정답 선지다. MQTT는 TCP 기반 경량 Pub-Sub 프로토콜로 설명에 부합한다(정답).
- 4번 ‘GRID’는 선택 조건과 다르다. GRID는 분산된 컴퓨팅 자원을 묶어 쓰는 컴퓨팅 개념이지 메시지 프로토콜이 아니다.
정답 판정: 정답 판정: 정답은 3번이다. MQTT는 발행/구독(Pub-Sub) 구조의 경량 메시지 전송 프로토콜로, 저전력·저대역폭 IoT 환경에 적합하다. 검증 기준: MQTT의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: MQTT는 broker를 중심으로 publish/subscribe 메시징을 제공하는 경량 프로토콜이다.
- OASIS MQTT Version 5.0
확인 위치: §1.2 MQTT Characteristics and §4.4 Message delivery
판정 연결: MQTT는 broker를 중심으로 publish/subscribe 메시징을 제공하는 경량 프로토콜이다.
82. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. COCOMO 모델 중 기관 내부에서 개발하는 5만 라인 이하의 중소 규모 업무·과학 계산용 소프트웨어에 해당하는 개발 유형은?
- Semi-Detached
- Semi-Embedded
- Embedded
- Organic
정답과 해설 보기
정답: 4
정답은 4번이다. COCOMO의 Organic(조직형)은 5만 라인 이하의 중소 규모 업무용·과학 계산용 소프트웨어를 사내에서 개발하는 유형이다.
선지별 해설
- 1번 ‘Semi-Detached’는 선택 조건과 다르다. Semi-Detached(반분리형)는 30만 라인 이하의 컴파일러·DBMS 등 중간 규모다.
- 2번 ‘Semi-Embedded’는 선택 조건과 다르다. Semi-Embedded는 COCOMO의 정식 유형 명칭이 아니다.
- 3번 ‘Embedded’는 선택 조건과 다르다. Embedded(내장형)는 30만 라인 이상, 하드웨어 제약이 큰 실시간 시스템에 분류된다.
- 4번은 정답 선지다. Organic은 5만 라인 이하 중소 규모 사내 개발로 설명과 일치한다(정답).
정답 판정: 정답 판정: 정답은 4번이다. COCOMO의 Organic(조직형)은 5만 라인 이하의 중소 규모 업무용·과학 계산용 소프트웨어를 사내에서 개발하는 유형이다. 검증 기준: Organic의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: organic mode는 비교적 작고 익숙한 환경의 응용 프로젝트에 적용되는 개발 유형이다.
- NASA — COCOMO model reference
확인 위치: Basic COCOMO development modes — organic
판정 연결: organic mode는 비교적 작고 익숙한 환경의 응용 프로젝트에 적용되는 개발 유형이다.
83. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 프로토타이핑 모형(Prototyping Model)에 대한 기술로 틀린 설명을 고르면?
- 프로토타입은 구현 단계의 구현 골격이 될 수 있다.
- 개발단계에서 오류 수정이 불가하므로 유지보수비용이 많이 발생한다.
- 최종 결과물이 만들어지기 전에 의뢰자가 최종 결과물의 일부 혹은 모형을 볼 수 있다.
- 프로토타입은 발주자나 개발자 모두에게 공동의 참조 모델을 제공한다.
정답과 해설 보기
정답: 2
정답은 2번이다. 프로토타이핑 모형은 시제품을 만들어 사용자 피드백으로 요구사항을 계속 수정·보완하는 모형이므로 '개발단계에서 오류 수정이 불가하다'는 설명은 부적절하다.
선지별 해설
- 1번 ‘프로토타입은 구현 단계의 구현 골격이 될 수 있다.’는 선택 조건과 다르다. 프로토타입이 그대로 구현 단계의 골격으로 이어질 수 있다.
- 2번은 정답 선지다. 반복적 개선이 핵심인 모형이므로 오류 수정 불가라는 서술은 잘못됐다(정답).
- 3번 ‘최종 결과물이 만들어지기 전에 의뢰자가 최종 결과물의 일부 혹은 모형을 볼 수 있다.’는 선택 조건과 다르다. 최종 산출물 이전에 견본을 보여 주는 것이 프로토타이핑의 목적이다.
- 4번 ‘프로토타입은 발주자나 개발자 모두에게 공동의 참조 모델을 제공한다.’는 선택 조건과 다르다. 프로토타입은 발주자와 개발자 간 요구사항 합의를 위한 공동 참조 모델이 된다.
정답 판정: 정답 판정: 정답은 2번이다. 프로토타이핑 모형은 시제품을 만들어 사용자 피드백으로 요구사항을 계속 수정·보완하는 모형이므로 '개발단계에서 오류 수정이 불가하다'는 설명은 부적절하다. 검증 기준: 개발단계에서 오류 수정이 불가하므로 유지보수비용이 많이 발생한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 프로토타입은 요구를 조기에 확인하고 수정하는 반복 수단이므로 개발 중 오류 수정이 불가능하다는 설명이 틀리다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: Software Engineering Models and Methods KA §3 Prototyping
판정 연결: 프로토타입은 요구를 조기에 확인하고 수정하는 반복 수단이므로 개발 중 오류 수정이 불가능하다는 설명이 틀리다.
84. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 기존 무선 랜의 한계 극복을 위해 등장하였으며, 대규모 디바이스의 네트워크 생성에 최적화되어 차세대 이동통신, 홈네트워킹, 공공안전 등의 특수목적을 위한 새로운 방식의 네트워크 기술을 가리키는 용어를 고르면?
- Software Defined Perimeter
- Virtual Private Network
- Local Area Network
- Mesh Network
정답과 해설 보기
정답: 4
정답은 4번이다. 메시 네트워크(Mesh Network)는 노드들이 그물망처럼 서로 연결되어 대규모 디바이스 연결과 특수 목적 네트워크 구성에 최적화된 기술이다.
선지별 해설
- 1번 ‘Software Defined Perimeter’는 선택 조건과 다르다. SDP는 소프트웨어 정의 경계 보안 모델이다.
- 2번 ‘Virtual Private Network’는 선택 조건과 다르다. VPN은 가상 사설망 기술이다.
- 3번 ‘Local Area Network’는 선택 조건과 다르다. LAN은 근거리 통신망이다.
- 4번은 정답 선지다. 메시 네트워크는 그물망 형태의 차세대 네트워크 기술이다.
정답 판정: 정답 판정: 정답은 4번이다. 메시 네트워크(Mesh Network)는 노드들이 그물망처럼 서로 연결되어 대규모 디바이스 연결과 특수 목적 네트워크 구성에 최적화된 기술이다. 검증 기준: Mesh Network의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: mesh 구조는 다수 노드가 이웃 노드를 통해 경로를 형성해 넓은 장치 집합을 연결한다.
- NIST SP 800-183 — Networks of Things
확인 위치: §4.2 Network models and peer-to-peer connectivity
판정 연결: mesh 구조는 다수 노드가 이웃 노드를 통해 경로를 형성해 넓은 장치 집합을 연결한다.
85. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 다음 설명에 해당하는 소프트웨어는? 반제품 형태의 소프트웨어로 도메인별 서비스 컴포넌트를 재사용할 수 있게 한다. 제어의 역전(IoC)을 통해 애플리케이션의 흐름을 제어한다. 공통 기능을 미리 구현해 두어 개발 생산성과 품질을 높인다.
- 소프트웨어 개발 프레임워크
- 컨테이너 아키텍처
- 어휘 분석기
- 전역 함수 라이브러리
정답과 해설 보기
정답: 1
정답은 1번이다. 설명은 재사용 가능한 공통 구조와 제어 흐름을 미리 제공해 그 위에 응용을 얹어 개발하도록 돕는 소프트웨어 개발 프레임워크에 분류된다.
선지별 해설
- 1번은 정답 선지다. 프레임워크는 제어의 역전을 통해 골격을 제공하고 개발자가 빈 부분을 채우게 한다(정답).
- 2번 ‘컨테이너 아키텍처’는 선택 조건과 다르다. 컨테이너 아키텍처는 배포·격리 실행 환경에 관한 개념이다.
- 3번 ‘어휘 분석기’는 선택 조건과 다르다. 어휘 분석기는 컴파일러의 앞단에서 토큰을 추출하는 구성 요소다.
- 4번 ‘전역 함수 라이브러리’는 선택 조건과 다르다. 전역 함수 라이브러리는 개발자가 필요할 때 호출하는 기능 모음일 뿐 제어 흐름을 주도하지 않는다.
정답 판정: 정답 판정: 정답은 1번이다. 설명은 재사용 가능한 공통 구조와 제어 흐름을 미리 제공해 그 위에 응용을 얹어 개발하도록 돕는 소프트웨어 개발 프레임워크에 분류된다. 검증 기준: 소프트웨어 개발 프레임워크의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 프레임워크는 공통 구조와 제어 흐름을 제공하고 애플리케이션이 확장 지점을 구현하게 한다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: Software Construction KA §3.5 Reuse and §4.2 Framework APIs
판정 연결: 프레임워크는 공통 구조와 제어 흐름을 제공하고 애플리케이션이 확장 지점을 구현하게 한다.
86. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 다음에서 설명하는 용어로 올바른 것은? 가공·초월을 뜻하는 말과 세계를 뜻하는 말을 합성한 신조어이다. 이용자가 아바타를 통해 3차원 가상 공간에 참여하여 현실과 같은 사회적·경제적·문화적 활동을 수행한다.
- 포스퀘어(Foursquare)
- 매시업(Mashup)
- 메타버스(Metaverse)
- 증강 현실(Augmented Reality)
정답과 해설 보기
정답: 3
정답은 3번이다. 가공·초월을 뜻하는 meta와 세계를 뜻하는 universe를 합성한 신조어로, 아바타를 통해 3차원 가상 공간에서 사회적·경제적·문화적 활동을 수행하는 것은 메타버스다.
선지별 해설
- 1번 ‘포스퀘어(Foursquare)’는 선택 조건과 다르다. 포스퀘어는 위치 기반 소셜 네트워크 서비스의 이름이지 가상 세계 개념이 아니다.
- 2번 ‘매시업(Mashup)’는 선택 조건과 다르다. 매시업은 서로 다른 웹 서비스나 데이터를 결합해 새로운 서비스를 만드는 기법이다.
- 3번은 정답 선지다. meta와 universe의 합성어라는 어원 설명과 아바타 기반 3차원 가상 세계라는 설명이 모두 들어맞으므로 정답으로 판정된다.
- 4번 ‘증강 현실(Augmented Reality)’는 선택 조건과 다르다. 증강 현실은 현실의 영상 위에 가상 정보를 겹쳐 보여 주는 기술로, 별도의 가상 세계를 구성하지 않는다.
정답 판정: 정답 판정: 정답은 3번이다. 가공·초월을 뜻하는 meta와 세계를 뜻하는 universe를 합성한 신조어로, 아바타를 통해 3차원 가상 공간에서 사회적·경제적·문화적 활동을 수행하는 것은 메타버스다. 검증 기준: 메타버스(Metaverse)의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: ITU는 메타버스를 몰입 경험과 경제·환경·사회·문화적 가치를 만드는 가상세계 생태계로 정의한다.
- ITU Focus Group — Metaverse definition
확인 위치: Defining the metaverse — integrative ecosystem of virtual worlds
판정 연결: ITU는 메타버스를 몰입 경험과 경제·환경·사회·문화적 가치를 만드는 가상세계 생태계로 정의한다.
87. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 다음 내용이 설명하는 것은? (블록체인 개발환경을 클라우드로 제공하여, 블록체인 노드의 설치·구성·운영을 손쉽게 할 수 있도록 지원하는 서비스형 블록체인이다.)
- Wi-SUN
- OTT
- BaaS
- SDDC
정답과 해설 보기
정답: 3
정답은 3번이다. 설명은 블록체인 개발 환경과 노드·스마트 컨트랙트 운영을 클라우드 서비스 형태로 제공하는 BaaS(Blockchain as a Service)에 분류된다.
선지별 해설
- 1번 ‘Wi-SUN’는 선택 조건과 다르다. Wi-SUN은 스마트 그리드용 저전력 장거리 무선 통신 규격이다.
- 2번 ‘OTT’는 선택 조건과 다르다. OTT는 인터넷망으로 미디어 콘텐츠를 제공하는 서비스다.
- 3번은 정답 선지다. BaaS는 블록체인 기능을 클라우드로 제공해 직접 구축 부담을 줄여 준다(정답).
- 4번 ‘SDDC’는 선택 조건과 다르다. SDDC는 모든 데이터센터 자원을 소프트웨어로 정의·제어하는 개념이다.
정답 판정: 정답 판정: 정답은 3번이다. 설명은 블록체인 개발 환경과 노드·스마트 컨트랙트 운영을 클라우드 서비스 형태로 제공하는 BaaS(Blockchain as a Service)에 분류된다. 검증 기준: BaaS의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 클라우드에서 블록체인 노드와 플랫폼 운영 기능을 서비스로 제공하는 형태가 BaaS다.
- NISTIR 8202 — Blockchain Technology Overview
확인 위치: §7 Blockchain Platforms and deployment services
판정 연결: 클라우드에서 블록체인 노드와 플랫폼 운영 기능을 서비스로 제공하는 형태가 BaaS다.
88. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 취약점 관리를 위한 응용 프로그램의 보안 설정과 관련성이 가장 낮은 방침을 고르면?
- 서버 관리실 출입 통제
- 실행 프로세스 권한 설정
- 운영체제의 접근 제한
- 운영체제의 정보 수집 제한
정답과 해설 보기
정답: 1
정답은 1번이다. 서버 관리실 출입 통제는 물리적 보안에 해당하며 응용 프로그램의 보안 설정과는 거리가 멀다.
선지별 해설
- 1번은 정답 선지다. 출입 통제는 물리적 보안이므로 응용 프로그램 보안 설정과 거리가 멀어 정답으로 판정된다.
- 2번 ‘실행 프로세스 권한 설정’는 선택 조건과 다르다. 실행 프로세스 권한 설정은 응용 보안 설정이다.
- 3번 ‘운영체제의 접근 제한’는 선택 조건과 다르다. 운영체제 접근 제한은 보안 설정에 분류된다.
- 4번 ‘운영체제의 정보 수집 제한’는 선택 조건과 다르다. 운영체제 정보 수집 제한은 보안 설정에 분류된다.
정답 판정: 정답 판정: 정답은 1번이다. 서버 관리실 출입 통제는 물리적 보안에 해당하며 응용 프로그램의 보안 설정과는 거리가 멀다. 검증 기준: 서버 관리실 출입 통제의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 실행 권한과 운영체제 접근·정보 노출 제한은 응용·호스트 보안 설정이고 서버실 출입은 물리 보안 통제다.
- NIST SP 800-123 — General Server Security
확인 위치: §4 Securing the Operating System — accounts, services and access
판정 연결: 실행 권한과 운영체제 접근·정보 노출 제한은 응용·호스트 보안 설정이고 서버실 출입은 물리 보안 통제다.
89. 기기를 키오스크에 약 10cm 이내로 가까이 대면 기가비트급으로 대용량 데이터를 전송하는 초근접 무선 기술은?
- Zing
- Marine Navi
- C-V2X
- BcN
정답과 해설 보기
정답: 1
Zing은 약 10cm의 매우 짧은 거리에서 기가비트급 전송을 목표로 하는 초근접 무선 통신 기술이다. 일반 NFC의 저속 태그 통신과 구분해야 한다.
선지별 해설
- 1번 Zing은 제시된 거리와 고속 전송 특성에 부합하므로 정답이다.
- 2번 Marine Navi는 해양 항법과 관련된 용어다.
- 3번 C-V2X는 차량과 차량·인프라·보행자 사이 통신 기술이다.
- 4번 BcN은 다양한 통신망을 통합하는 광대역 융합망 개념이다.
정답 판정: 정답 판정: Zing은 약 10cm의 매우 짧은 거리에서 기가비트급 전송을 목표로 하는 초근접 무선 통신 기술이다. 일반 NFC의 저속 태그 통신과 구분해야 한다. 검증 기준: 초근접 고속 통신 Zing의 거리·속도 특성을 다른 통신 기술과 구분한다. 원문 대조: ETRI가 소개한 Zing은 10cm 이내에서 60GHz를 사용해 기가급 데이터를 순간 전송하는 초근접 통신 기술이다.
- ETRI 45년사 — 초고속 근접통신 Zing
확인 위치: 근접거리 무전원 데이터 순간전송 기술 — 10cm, 60GHz, 3.5Gbps
판정 연결: ETRI가 소개한 Zing은 10cm 이내에서 60GHz를 사용해 기가급 데이터를 순간 전송하는 초근접 통신 기술이다.
90. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 다음 암호 알고리즘 중 성격이 다른 하나는?
- SHA-1
- AES
- MD4
- MD5
정답과 해설 보기
정답: 2
정답은 2번이다. AES는 대칭키 블록 암호화 알고리즘이고, MD4·MD5·SHA-1은 해시 함수이다.
선지별 해설
- 1번 ‘SHA-1’는 선택 조건과 다르다. SHA-1은 160비트 다이제스트를 만드는 해시 함수다.
- 2번은 정답 선지다. 문항 조건에 부합한다. AES만 대칭키 블록 암호로 나머지 해시 함수들과 성격이 다르다.
- 3번 ‘MD4’는 선택 조건과 다르다. MD4는 메시지 다이제스트를 생성하는 해시 함수다.
- 4번 ‘MD5’는 선택 조건과 다르다. MD5는 128비트 다이제스트를 만드는 해시 함수다.
정답 판정: 정답 판정: 정답은 2번이다. AES는 대칭키 블록 암호화 알고리즘이고, MD4·MD5·SHA-1은 해시 함수이다. 검증 기준: AES의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: AES는 비밀키로 암호화·복호화하는 대칭 블록 암호다.
- NIST FIPS 197 — AES
확인 위치: §3 and §5 — AES block cipher
판정 연결: AES는 비밀키로 암호화·복호화하는 대칭 블록 암호다. - NIST FIPS 180-4 — Secure Hash Standard
확인 위치: §3 Secure Hash Algorithms
판정 연결: SHA-1은 해시 알고리즘이고 MD4·MD5도 메시지 다이제스트 계열이므로 AES만 성격이 다르다.
91. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. Nassi-Shneiderman 차트에 대한 기술로 타당한 설명을 고르면?
- 객체 사이 메시지의 시간 순서를 표현한다.
- 화살표 중심의 흐름도로만 표현한다.
- 구조화된 상자 형태로 순차·선택·반복 구조를 표현한다.
- 데이터베이스 개체 관계만 표현한다.
정답과 해설 보기
정답: 3
정답은 3번이다. 나시-슈나이더만 차트는 화살표 없이 상자를 중첩한 도형으로 순차·선택·반복의 논리 구조를 표현하는 구조적 프로그래밍 설계 도구다.
선지별 해설
- 1번 ‘객체 사이 메시지의 시간 순서를 표현한다.’는 선택 조건과 다르다. 객체 간 메시지의 시간 순서는 UML 시퀀스 다이어그램이 담당한다.
- 2번 ‘화살표 중심의 흐름도로만 표현한다.’는 선택 조건과 다르다. 화살표 흐름도는 일반 순서도(Flowchart)의 특징으로, N-S 차트는 화살표를 쓰지 않는다.
- 3번은 정답 선지다. 상자 형태로 세 가지 기본 제어 구조를 표현한다는 설명이 타당하다(정답).
- 4번 ‘데이터베이스 개체 관계만 표현한다.’는 선택 조건과 다르다. 개체 관계 표현은 ERD의 역할이다.
정답 판정: 정답 판정: 정답은 3번이다. 나시-슈나이더만 차트는 화살표 없이 상자를 중첩한 도형으로 순차·선택·반복의 논리 구조를 표현하는 구조적 프로그래밍 설계 도구다. 검증 기준: 구조화된 상자 형태로 순차·선택·반복 구조를 표현한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: Nassi-Shneiderman 차트는 화살표 대신 중첩 상자 영역으로 순차·선택·반복 구조를 표현한다.
- Nassi and Shneiderman — Flowchart techniques
확인 위치: Structured flowchart symbols for sequence, selection and iteration
판정 연결: Nassi-Shneiderman 차트는 화살표 대신 중첩 상자 영역으로 순차·선택·반복 구조를 표현한다.
92. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 다음 설명에 해당하는 보안 개념은? "절대 신뢰하지 말고 항상 검증하라(Never Trust, Always Verify)"를 기본 원칙으로 한다. 내부망에 접속했다는 사실만으로는 신뢰를 부여하지 않고, 접근 요청이 발생할 때마다 사용자·단말·요청 상황을 다시 검증한다. 보호 대상 자원을 최소 단위로 분할하고 세분화된 정책에 따라 최소 권한만 동적으로 부여한다.
- 심층 방어(Defense in Depth)
- 비무장지대(DMZ)
- 네트워크 접근 제어(NAC)
- 제로 트러스트(Zero Trust)
정답과 해설 보기
정답: 4
정답은 4번이다. 내부망 접속 여부로 신뢰를 부여하지 않고 모든 접근 요청을 매번 검증하며, 자원을 최소 단위로 분할해 최소 권한만 동적으로 부여하는 보안 개념은 제로 트러스트(Zero Trust)이다. 전통적인 경계 기반(Perimeter) 보안의 "내부는 안전하다"는 가정을 폐기한 것이 핵심이다.
선지별 해설
- 1번 ‘심층 방어(Defense in Depth)’는 선택 조건과 다르다. 심층 방어는 방화벽·IDS·백신 등 방어 수단을 여러 겹으로 중첩해 한 계층이 뚫려도 다음 계층이 막게 하는 전략으로, 내부망 신뢰 자체를 부정하지는 않는다.
- 2번 ‘비무장지대(DMZ)’는 선택 조건과 다르다. DMZ는 외부에 공개해야 하는 서버를 내부망과 분리해 배치하는 완충 구간(네트워크 구성 방식)으로, 여전히 경계 기반 신뢰 모델에 속한다.
- 3번 ‘네트워크 접근 제어(NAC)’는 선택 조건과 다르다. NAC은 단말이 네트워크에 접속하는 시점에 보안 정책 준수 여부를 점검해 접속을 허용·차단하는 기술로, 접속 이후 모든 요청을 지속적으로 재검증하지는 않는다.
- 4번은 정답 선지다. 제시문의 "Never Trust, Always Verify", 요청 단위 재검증, 자원 세분화와 최소 권한 부여가 모두 제로 트러스트의 정의에 해당하므로 정답으로 판정된다.
정답 판정: 정답 판정: 정답은 4번이다. 내부망 접속 여부로 신뢰를 부여하지 않고 모든 접근 요청을 매번 검증하며, 자원을 최소 단위로 분할해 최소 권한만 동적으로 부여하는 보안 개념은 제로 트러스트(Zero Trust)이다. 전통적인 경계 기반(Perimeter) 보안의 "내부는 안전하다"는 가정을 폐기한 것이 핵심이다. 검증 기준: 제로 트러스트(Zero Trust)의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 제로 트러스트는 네트워크 위치만으로 신뢰하지 않고 요청마다 신원·장치·상황을 검증하며 최소 권한을 적용한다.
- NIST SP 800-207 — Zero Trust Architecture
확인 위치: §2 Zero Trust Basics — no implicit trust and continual verification
판정 연결: 제로 트러스트는 네트워크 위치만으로 신뢰하지 않고 요청마다 신원·장치·상황을 검증하며 최소 권한을 적용한다.
93. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. Bell-LaPadula 보안 모델과 가장 관련이 깊은 접근통제 방식은?
- MAC
- RBAC
- ABAC
- DAC
정답과 해설 보기
정답: 1
정답은 1번이다. Bell-LaPadula는 주체와 객체에 부여된 보안 등급(비밀 등급)에 따라 시스템이 강제로 접근을 통제하는 모델이므로 MAC(강제적 접근통제)에 분류된다.
선지별 해설
- 1번은 정답 선지다. 문항 조건에 부합한다. 기밀성을 목표로 "상위 읽기 금지(No Read Up), 하위 쓰기 금지(No Write Down)" 규칙을 강제한다.
- 2번 ‘RBAC’는 선택 조건과 다르다. RBAC는 사용자의 역할(role)에 권한을 묶는 방식이다.
- 3번 ‘ABAC’는 선택 조건과 다르다. ABAC는 사용자·자원·환경의 속성 조합으로 정책을 판단하는 방식이다.
- 4번 ‘DAC’는 선택 조건과 다르다. DAC는 객체 소유자가 재량으로 권한을 부여하는 방식으로, 등급 기반 강제 통제와 다르다.
정답 판정: 정답 판정: 정답은 1번이다. Bell-LaPadula는 주체와 객체에 부여된 보안 등급(비밀 등급)에 따라 시스템이 강제로 접근을 통제하는 모델이므로 MAC(강제적 접근통제)에 분류된다. 검증 기준: MAC의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: Bell-LaPadula는 보안 등급과 강제 정책으로 기밀성을 통제하는 대표 MAC 모델이다.
- NIST CSRC Glossary — mandatory access control
확인 위치: Definition of mandatory access control
판정 연결: Bell-LaPadula는 보안 등급과 강제 정책으로 기밀성을 통제하는 대표 MAC 모델이다.
94. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 짧고 빈번한 트랜잭션을 실시간으로 삽입·수정·삭제·조회하는 처리 방식은?
- ETL
- Batch Processing
- OLTP
- OLAP
정답과 해설 보기
정답: 3
정답은 3번이다. OLTP는 온라인 거래 처리로, 짧고 빈번한 트랜잭션의 삽입·수정·삭제·조회를 실시간으로 처리하는 방식이다.
선지별 해설
- 1번 ‘ETL’는 선택 조건과 다르다. ETL은 원천 데이터를 추출·변환·적재하여 데이터 웨어하우스를 채우는 과정이다.
- 2번 ‘Batch Processing’는 선택 조건과 다르다. 배치 처리는 대량 데이터를 모아 두었다가 일괄로 처리하므로 실시간성이 없다.
- 3번은 정답 선지다. 문항 조건에 부합한다. 은행 이체, 주문 처리처럼 응답 시간이 짧고 동시 트랜잭션이 많은 업무에 쓰인다.
- 4번 ‘OLAP’는 선택 조건과 다르다. OLAP는 축적된 데이터를 다차원으로 집계·분석하는 조회 위주 처리다.
정답 판정: 정답 판정: 정답은 3번이다. OLTP는 온라인 거래 처리로, 짧고 빈번한 트랜잭션의 삽입·수정·삭제·조회를 실시간으로 처리하는 방식이다. 검증 기준: OLTP의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: OLTP는 짧고 빈번한 실시간 트랜잭션으로 레코드를 조회·삽입·수정·삭제하는 처리 방식이다.
- Oracle — What is OLTP?
확인 위치: OLTP definition and characteristics
판정 연결: OLTP는 짧고 빈번한 실시간 트랜잭션으로 레코드를 조회·삽입·수정·삭제하는 처리 방식이다.
95. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 대칭키와 신뢰할 수 있는 제3자 KDC의 티켓을 이용해 상호 인증하는 프로토콜은?
- OpenID Connect
- OAuth
- Kerberos
- SAML
정답과 해설 보기
정답: 3
정답은 3번이다. Kerberos는 신뢰할 수 있는 제3자인 KDC가 발급한 티켓과 대칭키 암호를 이용해 클라이언트와 서버가 상호 인증하는 프로토콜이다.
선지별 해설
- 1번 ‘OpenID Connect’는 선택 조건과 다르다. OpenID Connect는 OAuth 2.0 위에 인증 계층을 얹은 신원 확인 규격이다.
- 2번 ‘OAuth’는 선택 조건과 다르다. OAuth는 인증이 아니라 제3자 애플리케이션에 자원 접근 권한을 위임하는 인가 프레임워크다.
- 3번은 정답 선지다. 문항 조건에 부합한다. AS와 TGS로 구성된 KDC가 TGT와 서비스 티켓을 발급한다.
- 4번 ‘SAML’는 선택 조건과 다르다. SAML은 XML 기반으로 인증 정보를 교환하는 SSO 표준이다.
정답 판정: 정답 판정: 정답은 3번이다. Kerberos는 신뢰할 수 있는 제3자인 KDC가 발급한 티켓과 대칭키 암호를 이용해 클라이언트와 서버가 상호 인증하는 프로토콜이다. 검증 기준: Kerberos의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: Kerberos는 KDC가 발급한 티켓과 대칭키를 이용해 클라이언트와 서비스를 인증한다.
- IETF RFC 4120 — Kerberos V5
확인 위치: §1.1 and §3 — KDC, tickets and shared-secret cryptography
판정 연결: Kerberos는 KDC가 발급한 티켓과 대칭키를 이용해 클라이언트와 서비스를 인증한다.
96. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. Java 바이트코드를 계측하여 테스트 커버리지를 측정하는 오픈소스 도구는?
- JUnit
- Jenkins
- Cobertura
- Maven
정답과 해설 보기
정답: 3
정답은 3번이다. Cobertura는 Java 바이트코드를 계측(instrumentation)하여 구문·분기 커버리지를 측정하는 오픈소스 커버리지 도구다.
선지별 해설
- 1번 ‘JUnit’는 선택 조건과 다르다. JUnit은 테스트를 작성·실행하는 단위 테스트 프레임워크이지 커버리지 측정 도구가 아니다.
- 2번 ‘Jenkins’는 선택 조건과 다르다. Jenkins는 빌드와 테스트를 자동화하는 CI 서버다.
- 3번은 정답 선지다. 문항 조건에 부합한다. 바이트코드 계측 방식으로 커버리지 리포트를 생성한다.
- 4번 ‘Maven’는 선택 조건과 다르다. Maven은 의존성 관리와 빌드 수명주기를 담당하는 빌드 도구다.
정답 판정: 정답 판정: 정답은 3번이다. Cobertura는 Java 바이트코드를 계측(instrumentation)하여 구문·분기 커버리지를 측정하는 오픈소스 커버리지 도구다. 검증 기준: Cobertura의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: Cobertura는 Java 바이트코드를 계측해 실행된 코드 비율을 측정하는 오픈소스 커버리지 도구다.
- Cobertura project repository
확인 위치: Project README — Java code coverage
판정 연결: Cobertura는 Java 바이트코드를 계측해 실행된 코드 비율을 측정하는 오픈소스 커버리지 도구다.
97. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 다음 중 DAS(Direct Attached Storage)에서 일반적으로 사용하는 직접 연결 프로토콜이 해당하지 않는 것을 고르면?
- SAS (Serial Attached SCSI)
- eSATA (External Serial Advanced Technology Attachment)
- iSCSI (Internet Small Computer System Interface)
- SCSI (Small Computer System Interface)
정답과 해설 보기
정답: 3
정답은 3번이다. iSCSI는 SCSI 명령을 TCP/IP 네트워크로 실어 나르는 프로토콜로, 서버에 직접 연결하는 DAS가 아니라 IP 기반 SAN에서 사용된다.
선지별 해설
- 1번 ‘SAS (Serial Attached SCSI)’는 선택 조건과 다르다. SAS는 SCSI를 직렬화한 인터페이스로 서버 내부·직결 스토리지에 쓰인다.
- 2번 ‘eSATA (External Serial Advanced Technology Attachment)’는 선택 조건과 다르다. eSATA는 SATA의 외장형 규격으로 외장 디스크를 직접 연결한다.
- 3번은 정답 선지다. 문항 조건에 부합한다. 네트워크를 경유하므로 DAS의 직접 연결 프로토콜로 볼 수 없다.
- 4번 ‘SCSI (Small Computer System Interface)’는 선택 조건과 다르다. SCSI는 서버에 스토리지를 직접 연결하는 전통적인 병렬 인터페이스로 DAS 방식이다.
정답 판정: 정답 판정: 정답은 3번이다. iSCSI는 SCSI 명령을 TCP/IP 네트워크로 실어 나르는 프로토콜로, 서버에 직접 연결하는 DAS가 아니라 IP 기반 SAN에서 사용된다. 검증 기준: iSCSI (Internet Small Computer System Interface)의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: iSCSI는 SCSI 명령을 TCP/IP 네트워크로 운반하므로 직접 부착 인터페이스가 아니다.
- IETF RFC 7143 — iSCSI
확인 위치: §1 iSCSI maps SCSI over TCP
판정 연결: iSCSI는 SCSI 명령을 TCP/IP 네트워크로 운반하므로 직접 부착 인터페이스가 아니다.
98. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 다음에서 설명하는 소프트웨어 프로세스 성숙도 모델(CMMI)의 단계는? 조직이 정의한 표준 프로세스를 프로젝트에 맞게 조정하여 수행한다. 프로세스의 성과와 품질을 정량적 지표로 측정하고 통계적 기법으로 예측·통제한다. 프로세스 개선 활동 자체를 지속적으로 최적화하는 단계의 바로 이전 단계이다.
- 정량적 관리(Quantitatively Managed) 단계
- 최적화(Optimizing) 단계
- 관리(Managed) 단계
- 정의(Defined) 단계
정답과 해설 보기
정답: 1
정답은 1번이다. 표준 프로세스를 조정해 수행하면서 성과를 정량적 지표와 통계 기법으로 측정·예측·통제하고, 최적화(5단계) 바로 앞에 위치하는 단계는 정량적 관리(4단계)다.
선지별 해설
- 1번은 정답 선지다. 문항 조건에 부합한다. 통계적 공정 관리로 프로세스 성과를 예측·통제하는 4단계다.
- 2번 ‘최적화(Optimizing) 단계’는 선택 조건과 다르다. 최적화(Optimizing, 5단계)는 지속적 개선과 혁신을 수행하는 마지막 단계로, 문제의 "바로 이전 단계"라는 조건과 맞지 않는다.
- 3번 ‘관리(Managed) 단계’는 선택 조건과 다르다. 관리(Managed, 2단계)는 프로젝트 단위로 계획·추적이 이루어지는 수준으로 조직 표준 프로세스 이전이다.
- 4번 ‘정의(Defined) 단계’는 선택 조건과 다르다. 정의(Defined, 3단계)는 조직 표준 프로세스를 수립·적용하지만 정량적 통제까지는 하지 않는다.
정답 판정: 정답 판정: 정답은 1번이다. 표준 프로세스를 조정해 수행하면서 성과를 정량적 지표와 통계 기법으로 측정·예측·통제하고, 최적화(5단계) 바로 앞에 위치하는 단계는 정량적 관리(4단계)다. 검증 기준: 정량적 관리(Quantitatively Managed) 단계의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 수준 4는 정량 데이터와 통계 기법으로 프로세스 성과를 예측·통제하며 수준 5 최적화 바로 전 단계다.
- CMMI Institute — CMMI levels
확인 위치: Maturity Level 4 — Quantitatively Managed
판정 연결: 수준 4는 정량 데이터와 통계 기법으로 프로세스 성과를 예측·통제하며 수준 5 최적화 바로 전 단계다.
99. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 마이크로서비스 아키텍처(MSA, Microservice Architecture)에 대한 기술로 틀린 설명을 고르면?
- 서비스 간 통신에는 주로 HTTP/REST나 메시지 큐 같은 경량 프로토콜을 사용한다.
- 비즈니스 기능 단위로 서비스를 나누고 각 서비스를 독립적으로 배포할 수 있다.
- 서비스마다 서로 다른 개발 언어나 데이터 저장 기술을 선택할 수 있다.
- 모든 서비스가 하나의 데이터베이스 스키마를 공유해야 하므로 서비스 간 트랜잭션 일관성이 보장된다.
정답과 해설 보기
정답: 4
정답은 4번이다. MSA는 서비스마다 데이터베이스를 분리해 소유하는 것(Database per Service)이 원칙이며, 단일 스키마 공유는 오히려 모놀리식 구조의 특징이다. DB를 나누기 때문에 단일 트랜잭션으로 일관성을 보장할 수 없고, 사가(Saga) 패턴 등으로 최종적 일관성을 확보한다.
선지별 해설
- 1번 ‘서비스 간 통신에는 주로 HTTP/REST나 메시지 큐 같은 경량 프로토콜을 사용한다.’는 선택 조건과 다르다. 타당하다. 서비스 간에는 HTTP/REST, gRPC, 메시지 큐 같은 가볍고 표준적인 통신 수단을 사용한다.
- 2번 ‘비즈니스 기능 단위로 서비스를 나누고 각 서비스를 독립적으로 배포할 수 있다.’는 선택 조건과 다르다. 타당하다. 비즈니스 기능(도메인) 단위로 서비스를 분해하고 서비스별로 독립 배포·확장하는 것이 MSA의 핵심이다.
- 3번 ‘서비스마다 서로 다른 개발 언어나 데이터 저장 기술을 선택할 수 있다.’는 선택 조건과 다르다. 타당하다. 서비스 간 결합이 느슨하므로 서비스마다 적합한 언어와 저장소를 고르는 기술 이질성(Polyglot)이 허용된다.
- 4번은 정답 선지다. 부적절하다. 데이터베이스를 공유하면 서비스가 스키마로 강하게 결합되어 독립 배포가 불가능해지므로 MSA의 원칙에 반한다.
정답 판정: 정답 판정: 정답은 4번이다. MSA는 서비스마다 데이터베이스를 분리해 소유하는 것(Database per Service)이 원칙이며, 단일 스키마 공유는 오히려 모놀리식 구조의 특징이다. DB를 나누기 때문에 단일 트랜잭션으로 일관성을 보장할 수 없고, 사가(Saga) 패턴 등으로 최종적 일관성을 확보한다. 검증 기준: 모든 서비스가 하나의 데이터베이스 스키마를 공유해야 하므로 서비스 간 트랜잭션 일관성이 보장된다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 마이크로서비스는 기능별 독립 배포와 기술 선택을 허용하므로 모든 서비스가 하나의 스키마를 반드시 공유한다는 설명이 틀리다.
- AWS — Microservices architecture
확인 위치: Microservices characteristics — independent services and deployment
판정 연결: 마이크로서비스는 기능별 독립 배포와 기술 선택을 허용하므로 모든 서비스가 하나의 스키마를 반드시 공유한다는 설명이 틀리다.
100. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 허용 크기를 초과하는 비정상적인 ICMP 패킷을 전송하여 시스템을 마비시키는 공격은?
- Ping of Death
- Phishing
- SQL Injection
- Session Hijacking
정답과 해설 보기
정답: 1
정답은 1번이다. Ping of Death는 허용 크기를 넘는 비정상적으로 큰 ICMP 패킷을 잘게 나눠 보내 대상 시스템의 재조립 과정에서 과부하나 오류를 일으키는 공격이다.
선지별 해설
- 1번은 정답 선지다. 문항 조건에 부합한다. ICMP 에코 요청을 악용한 대표적 서비스 거부(DoS) 공격이다.
- 2번 ‘Phishing’는 선택 조건과 다르다. 피싱은 위조된 사이트나 메일로 사용자를 속여 정보를 탈취하는 사회공학 공격이다.
- 3번 ‘SQL Injection’는 선택 조건과 다르다. SQL 삽입은 입력값에 SQL 구문을 넣어 DB를 조작하는 공격이다.
- 4번 ‘Session Hijacking’는 선택 조건과 다르다. 세션 하이재킹은 인증된 세션을 가로채 사용자 권한을 도용하는 공격이다.
정답 판정: 정답 판정: 정답은 1번이다. Ping of Death는 허용 크기를 넘는 비정상적으로 큰 ICMP 패킷을 잘게 나눠 보내 대상 시스템의 재조립 과정에서 과부하나 오류를 일으키는 공격이다. 검증 기준: Ping of Death의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 허용 크기를 넘는 비정상 ICMP 패킷으로 시스템을 중단시키는 공격이 Ping of Death다.
- IBM — network attack events
확인 위치: Definition — oversized or malformed ICMP packet
판정 연결: 허용 크기를 넘는 비정상 ICMP 패킷으로 시스템을 중단시키는 공격이 Ping of Death다.
정보처리기사 필기 기출문제 학습 방법
먼저 PDF 문제지를 시간에 맞춰 푼 뒤, 이 글에서 오답의 정답·해설·근거를 확인하세요. 법규 문항은 근거 기준일 이후 개정 여부도 함께 확인하는 것이 안전합니다.