문제지 PDF · 웹 정답 해설
정보처리기사 필기 2023년 3회 CBT 편집복원 100문항
정보처리기사 필기 2023년 3회 CBT 편집복원 100문항을 과목별로 풀고 문항별 정답과 상세해설을 확인하세요.
© 자격증3001. 이 정보처리기사 필기 기출문제 게시물의 문제 재구성 문장, 해설, 재작성 도식, 편집 및 PDF 디자인은 자격증3001의 저작권 보호를 받습니다. 국가기술자격 시험 및 관련 명칭의 권리는 해당 기관에 있으며, 본 자료는 Q-Net 공식 문제지 또는 공식 해설이 아닙니다. 무단 복제·재배포를 금합니다.
정보처리기사 필기 2023년 3회 CBT 편집복원 100문항 안내
정보처리기사 필기 2023년 3회 CBT 편집복원 100문항을 과목별로 풀고 문항별 정답과 상세해설을 확인하세요.
각 문항의 정답은 아래 해설과 연결된 기술 표준·공식 문서·독립 계산으로 검증했습니다.
정보처리기사 전체 자료 · 정보처리기사 CBT 학습실 · Q-Net 정보처리기사 출제기준
정보처리기사 필기 기출문제 · 소프트웨어 설계
1. 설계 검토 회의에서 다음 항목을 판단한다. 럼바우(Rumbaugh)의 객체지향 분석 절차를 가장 바르게 나열한 것은?
- 객체 모형 → 기능 모형 → 동적 모형
- 기능 모형 → 동적 모형 → 객체 모형
- 기능 모형 → 객체 모형 → 동적 모형
- 객체 모형 → 동적 모형 → 기능 모형
정답과 해설 보기
정답: 4
정답은 4번이다. 구조적 분석에서는 객체 모형으로 정적 구조를 정의한 뒤 동적 모형과 기능 모형을 작성합니다. 따라서 ①이 맞습니다
선지별 해설
- 1번 ‘객체 모형 → 기능 모형 → 동적 모형’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번 ‘기능 모형 → 동적 모형 → 객체 모형’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번 ‘기능 모형 → 객체 모형 → 동적 모형’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
정답 판정: 정답 판정: 정답은 4번이다. 구조적 분석에서는 객체 모형으로 정적 구조를 정의한 뒤 동적 모형과 기능 모형을 작성합니다. 따라서 ①이 맞습니다 검증 기준: 객체 모형 → 동적 모형 → 기능 모형의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 1 판정 근거: 정답은 4번이다. 구조적 분석에서는 객체 모형으로 정적 구조를 정의한 뒤 동적 모형과 기능 모형을 작성합니다. 따라서 ①이 맞습니다
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: SWEBOK V4 — relevant knowledge area definition and practice
판정 연결: 문항 1 판정 근거: 정답은 4번이다. 구조적 분석에서는 객체 모형으로 정적 구조를 정의한 뒤 동적 모형과 기능 모형을 작성합니다. 따라서 ①이 맞습니다
2. 설계 검토 회의에서 다음 항목을 판단한다. XP 팀의 운영 방침 중 XP의 핵심 가치와 관련성이 가장 낮은 방침을 고르면? 팀은 짧은 반복 주기마다 동작 결과를 확인하고 다음 계획을 조정하려 한다.
- 초기에 모든 요구를 완전한 정형 명세로 고정하고 이후 피드백에 따른 변경을 금지한다.
- 팀 구성원이 서로의 기여와 판단을 존중한다.
- 고객과 개발자가 자주 대화해 요구 이해를 맞춘다.
- 실패한 접근을 숨기지 않고 개선이 필요하다고 말할 용기를 갖는다.
정답과 해설 보기
정답: 1
정답은 1번이다. XP의 핵심 가치는 의사소통, 단순성, 피드백, 용기, 존중이다. 결과를 자주 확인하고 피드백에 따라 조정하는 것이 핵심이므로 변경을 금지하는 ③은 XP 가치와 맞지 않는다.
선지별 해설
- 1번은 정답 선지다. 정답 근거 피드백을 차단하고 초기 명세를 절대 변경하지 않는 방침은 XP의 반복·피드백 가치와 충돌한다.
- 2번 ‘팀 구성원이 서로의 기여와 판단을 존중한다.’는 선택 조건과 다르다. 오답 이유 서로의 역할과 의견을 인정하는 것은 XP의 존중 가치에 분류된다.
- 3번 ‘고객과 개발자가 자주 대화해 요구 이해를 맞춘다.’는 선택 조건과 다르다. 오답 이유 빈번한 대화는 지식을 공유하고 요구 오해를 줄이는 의사소통 가치에 분류된다.
- 4번 ‘실패한 접근을 숨기지 않고 개선이 필요하다고 말할 용기를 갖는다.’는 선택 조건과 다르다. 오답 이유 효과 없는 방법을 인정하고 바꾸는 행동은 XP가 말하는 용기의 적용이다.
정답 판정: 정답 판정: 정답은 1번이다. XP의 핵심 가치는 의사소통, 단순성, 피드백, 용기, 존중이다. 결과를 자주 확인하고 피드백에 따라 조정하는 것이 핵심이므로 변경을 금지하는 ③은 XP 가치와 맞지 않는다. 검증 기준: 초기에 모든 요구를 완전한 정형 명세로 고정하고 이후 피드백에 따른 변경을 금지한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 2 판정 근거: 정답은 1번이다. XP의 핵심 가치는 의사소통, 단순성, 피드백, 용기, 존중이다. 결과를 자주 확인하고 피드백에 따라 조정하는 것이 핵심이므로 변경을 금지하는 ③은 XP 가치와 맞지 않는다.
- Agile Alliance — Extreme Programming
확인 위치: Extreme Programming — values and practices
판정 연결: 문항 2 판정 근거: 정답은 1번이다. XP의 핵심 가치는 의사소통, 단순성, 피드백, 용기, 존중이다. 결과를 자주 확인하고 피드백에 따라 조정하는 것이 핵심이므로 변경을 금지하는 ③은 XP 가치와 맞지 않는다.
3. 설계 검토 회의에서 다음 항목을 판단한다. 애자일 팀의 운영 방침으로 적절하지 않은 것은?
- 계약 문구만 따지기보다 고객과 해결책을 함께 조정한다.
- 짧은 반복마다 작동 결과를 고객과 검토한다.
- 연초에 만든 세부 계획을 고정하고 새 정보가 생겨도 변경하지 않는다.
- 프로세스 도구보다 팀원 간 소통과 협업을 중시한다.
정답과 해설 보기
정답: 3
정답은 3번이다. 애자일은 계획이 필요 없다는 뜻이 아니라 학습과 환경 변화에 맞춰 계획을 조정하는 것을 중시한다. 새 정보가 생겨도 연초 계획을 고정한다는 ②는 변화 대응 가치와 반대다.
선지별 해설
- 1번 ‘계약 문구만 따지기보다 고객과 해결책을 함께 조정한다.’는 선택 조건과 다르다. 오답 이유 고객 협업을 계약 협상보다 중시한다는 애자일 가치와 일치한다.
- 2번 ‘짧은 반복마다 작동 결과를 고객과 검토한다.’는 선택 조건과 다르다. 오답 이유 짧은 반복과 고객 검토는 빠른 피드백으로 잘못된 방향을 조기에 수정하게 한다.
- 3번은 정답 선지다. 정답 근거 계획을 절대 고정하면 변화에 대응하지 못해 애자일 가치와 충돌한다.
- 4번 ‘프로세스 도구보다 팀원 간 소통과 협업을 중시한다.’는 선택 조건과 다르다. 오답 이유 개인과 상호작용을 프로세스와 도구보다 중시한다는 선언문의 가치와 일치한다.
정답 판정: 정답 판정: 정답은 3번이다. 애자일은 계획이 필요 없다는 뜻이 아니라 학습과 환경 변화에 맞춰 계획을 조정하는 것을 중시한다. 새 정보가 생겨도 연초 계획을 고정한다는 ②는 변화 대응 가치와 반대다. 검증 기준: 연초에 만든 세부 계획을 고정하고 새 정보가 생겨도 변경하지 않는다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 3 판정 근거: 정답은 3번이다. 애자일은 계획이 필요 없다는 뜻이 아니라 학습과 환경 변화에 맞춰 계획을 조정하는 것을 중시한다. 새 정보가 생겨도 연초 계획을 고정한다는 ②는 변화 대응 가치와 반대다.
- Manifesto for Agile Software Development
확인 위치: Manifesto for Agile Software Development — four values
판정 연결: 문항 3 판정 근거: 정답은 3번이다. 애자일은 계획이 필요 없다는 뜻이 아니라 학습과 환경 변화에 맞춰 계획을 조정하는 것을 중시한다. 새 정보가 생겨도 연초 계획을 고정한다는 ②는 변화 대응 가치와 반대다.
4. 설계 검토 회의에서 다음 항목을 판단한다. UML에서 활용되는 다이어그램 중, 시스템의 동작을 표현하는 행위(Behavioral) 다이어그램에 해당하지 않는 것은?
- 유스케이스 다이어그램(Use Case Diagram)
- 시퀀스 다이어그램(Sequence Diagram)
- 활동 다이어그램(Activity Diagram)
- 배치 다이어그램(Deployment Diagram)
정답과 해설 보기
정답: 4
정답은 4번이다. 배치 다이어그램은 실행 노드와 그 위에 배치되는 소프트웨어 산출물의 물리적 구성을 표현합니다. 유스케이스·시퀀스·활동 다이어그램은 동작과 상호작용을 나타내는 행위 다이어그램이지만, 배치 다이어그램은 시스템의 물리적 배치를 나타내는 구조 다이어그램입니다.
선지별 해설
- 1번 ‘유스케이스 다이어그램(Use Case Diagram)’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번 ‘시퀀스 다이어그램(Sequence Diagram)’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번 ‘활동 다이어그램(Activity Diagram)’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
정답 판정: 정답 판정: 정답은 4번이다. 배치 다이어그램은 실행 노드와 그 위에 배치되는 소프트웨어 산출물의 물리적 구성을 표현합니다. 유스케이스·시퀀스·활동 다이어그램은 동작과 상호작용을 나타내는 행위 다이어그램이지만, 배치 다이어그램은 시스템의 물리적 배치를 나타내는 구조 다이어그램입니다. 검증 기준: 배치 다이어그램(Deployment Diagram)의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 4 판정 근거: 정답은 4번이다. 배치 다이어그램은 실행 노드와 그 위에 배치되는 소프트웨어 산출물의 물리적 구성을 표현합니다. 유스케이스·시퀀스·활동 다이어그램은 동작과 상호작용을 나타내는 행위 다이어그램이지만, 배치 다이어그램은 시스템의 물리적 배치를 나타내는 구조 다이어그램입니다.
- OMG UML 2.5.1 specification
확인 위치: UML 2.5.1 — use cases and object-oriented model elements
판정 연결: 문항 4 판정 근거: 정답은 4번이다. 배치 다이어그램은 실행 노드와 그 위에 배치되는 소프트웨어 산출물의 물리적 구성을 표현합니다. 유스케이스·시퀀스·활동 다이어그램은 동작과 상호작용을 나타내는 행위 다이어그램이지만, 배치 다이어그램은 시스템의 물리적 배치를 나타내는 구조 다이어그램입니다. - IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: SWEBOK V4 — relevant knowledge area definition and practice
판정 연결: 문항 4 판정 근거: 정답은 4번이다. 배치 다이어그램은 실행 노드와 그 위에 배치되는 소프트웨어 산출물의 물리적 구성을 표현합니다. 유스케이스·시퀀스·활동 다이어그램은 동작과 상호작용을 나타내는 행위 다이어그램이지만, 배치 다이어그램은 시스템의 물리적 배치를 나타내는 구조 다이어그램입니다.
5. 설계 검토 회의에서 다음 항목을 판단한다. 반복되는 객체 생성과 상호작용 문제에 디자인 패턴을 적용하려는 팀의 판단으로 적절하지 않은 것은?
- 공통된 설계 어휘를 사용해 팀원 사이의 의사소통을 돕는다.
- 검증된 역할 분담을 참고하되 현재 시스템의 제약에 맞게 조정한다.
- 패턴 이름을 정하면 요구사항과 도메인 분석은 생략해도 된다.
- 문제 맥락과 패턴의 적용 조건이 맞는지 먼저 확인한다.
정답과 해설 보기
정답: 3
정답은 3번이다. 디자인 패턴은 반복되는 설계 문제의 검증된 구조와 공통 어휘를 제공하지만 요구사항 분석을 대신하지 않는다. 적용 맥락과 제약을 확인하지 않고 패턴 이름만 붙이면 오히려 불필요한 복잡성이 생길 수 있으므로 ④가 적절하지 않다.
선지별 해설
- 1번 ‘공통된 설계 어휘를 사용해 팀원 사이의 의사소통을 돕는다.’는 선택 조건과 다르다. 오답 이유 패턴 이름은 객체 역할과 협력 구조를 짧게 공유하는 설계 어휘로 사용할 수 있다.
- 2번 ‘검증된 역할 분담을 참고하되 현재 시스템의 제약에 맞게 조정한다.’는 선택 조건과 다르다. 오답 이유 패턴은 그대로 복사하는 규칙이 아니라 시스템 제약에 맞춰 적용하는 재사용 가능한 설계 지식이다.
- 3번은 정답 선지다. 정답 근거 패턴은 요구사항과 도메인 분석을 대체하지 않으므로 생략 가능하다는 설명이 부적절하다.
- 4번 ‘문제 맥락과 패턴의 적용 조건이 맞는지 먼저 확인한다.’는 선택 조건과 다르다. 오답 이유 패턴은 적용 조건과 결과가 있으므로 현재 문제 맥락이 맞는지 확인해야 한다.
정답 판정: 정답 판정: 정답은 3번이다. 디자인 패턴은 반복되는 설계 문제의 검증된 구조와 공통 어휘를 제공하지만 요구사항 분석을 대신하지 않는다. 적용 맥락과 제약을 확인하지 않고 패턴 이름만 붙이면 오히려 불필요한 복잡성이 생길 수 있으므로 ④가 적절하지 않다. 검증 기준: 패턴 이름을 정하면 요구사항과 도메인 분석은 생략해도 된다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 5 판정 근거: 정답은 3번이다. 디자인 패턴은 반복되는 설계 문제의 검증된 구조와 공통 어휘를 제공하지만 요구사항 분석을 대신하지 않는다. 적용 맥락과 제약을 확인하지 않고 패턴 이름만 붙이면 오히려 불필요한 복잡성이 생길 수 있으므로 ④가 적절하지 않다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: SWEBOK V4 — relevant knowledge area definition and practice
판정 연결: 문항 5 판정 근거: 정답은 3번이다. 디자인 패턴은 반복되는 설계 문제의 검증된 구조와 공통 어휘를 제공하지만 요구사항 분석을 대신하지 않는다. 적용 맥락과 제약을 확인하지 않고 패턴 이름만 붙이면 오히려 불필요한 복잡성이 생길 수 있으므로 ④가 적절하지 않다.
6. 설계 검토 회의에서 다음 항목을 판단한다. 서로 다른 운영체제에서 실행되는 주문 클라이언트와 재고 서버 사이의 호출·메시지 형식을 중개하는 소프트웨어 계층은?
- 미들웨어
- 사용자 화면
- 장치 드라이버
- 운영체제 커널
정답과 해설 보기
정답: 1
정답은 1번이다. 이기종 응용 사이의 통신과 데이터 교환을 중개하는 공통 계층은 미들웨어다. 따라서 ③이 맞다.
선지별 해설
- 1번은 정답 선지다. 정답 근거 미들웨어는 이기종 응용 사이의 호출, 메시지, 데이터 형식 차이를 중개한다.
- 2번 ‘사용자 화면’는 선택 조건과 다르다. 오답 이유 사용자 화면은 사람과 애플리케이션의 상호작용 계층이며 서버 간 통신 계층이 아니다.
- 3번 ‘장치 드라이버’는 선택 조건과 다르다. 오답 이유 장치 드라이버는 운영체제와 하드웨어 장치 사이를 중개한다.
- 4번 ‘운영체제 커널’는 선택 조건과 다르다. 오답 이유 커널은 프로세스·메모리·장치 같은 시스템 자원을 관리한다.
정답 판정: 정답 판정: 정답은 1번이다. 이기종 응용 사이의 통신과 데이터 교환을 중개하는 공통 계층은 미들웨어다. 따라서 ③이 맞다. 검증 기준: 미들웨어의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 6 판정 근거: 정답은 1번이다. 이기종 응용 사이의 통신과 데이터 교환을 중개하는 공통 계층은 미들웨어다. 따라서 ③이 맞다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: SWEBOK V4 — relevant knowledge area definition and practice
판정 연결: 문항 6 판정 근거: 정답은 1번이다. 이기종 응용 사이의 통신과 데이터 교환을 중개하는 공통 계층은 미들웨어다. 따라서 ③이 맞다.
7. 설계 검토 회의에서 다음 항목을 판단한다. CASE 도구를 도입한 목적과 관련성이 가장 낮은 방침을 고르면?
- 변경 산출물 사이의 추적성 지원
- 분석 모델과 설계 산출물의 재사용
- 표준화된 모델 검증으로 품질 향상
- 최종 사용자에게 제품 조작법을 가르치는 교육 자동화
정답과 해설 보기
정답: 4
정답은 4번이다. CASE는 개발·유지보수 산출물과 공정을 자동화한다. 최종 사용자 조작 교육은 CASE의 핵심 목적이 아니므로 ③이 답이다.
선지별 해설
- 1번 ‘변경 산출물 사이의 추적성 지원’는 선택 조건과 다르다. 오답 이유 산출물 간 연결 정보를 유지하면 요구 변경이 설계·코드에 미치는 영향을 추적할 수 있다.
- 2번 ‘분석 모델과 설계 산출물의 재사용’는 선택 조건과 다르다. 오답 이유 모델·템플릿·구성요소 재사용은 CASE 저장소가 지원하는 개발 생산성 효과다.
- 3번 ‘표준화된 모델 검증으로 품질 향상’는 선택 조건과 다르다. 오답 이유 표준 모델링 규칙과 자동 검사는 산출물 결함을 줄이는 CASE 활용이다.
- 4번은 정답 선지다. 정답 근거 최종 사용자의 제품 조작 교육은 개발 공정 자동화 도구인 CASE의 핵심 목적이 아니다.
정답 판정: 정답 판정: 정답은 4번이다. CASE는 개발·유지보수 산출물과 공정을 자동화한다. 최종 사용자 조작 교육은 CASE의 핵심 목적이 아니므로 ③이 답이다. 검증 기준: 최종 사용자에게 제품 조작법을 가르치는 교육 자동화의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 7 판정 근거: 정답은 4번이다. CASE는 개발·유지보수 산출물과 공정을 자동화한다. 최종 사용자 조작 교육은 CASE의 핵심 목적이 아니므로 ③이 답이다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: SWEBOK V4 — relevant knowledge area definition and practice
판정 연결: 문항 7 판정 근거: 정답은 4번이다. CASE는 개발·유지보수 산출물과 공정을 자동화한다. 최종 사용자 조작 교육은 CASE의 핵심 목적이 아니므로 ③이 답이다.
8. 설계 검토 회의에서 다음 항목을 판단한다. 다음은 어떤 프로그램 구조를 나타낸다. 모듈 F에서의 fan-in과 fan-out의 수는 얼마인가? 호출 구조: A → B, C, D B → E, F / C → F / D → F F → G, H
- fan-in : 2, fan-out:3
- fan-in : 3, fan-out : 2
- fan-in : 1, fan-out : 2
- fan-in : 2, fan-out : 1
정답과 해설 보기
정답: 2
정답은 2번이다. fan-in은 해당 모듈을 호출하는 상위 모듈의 수이고 fan-out은 해당 모듈이 호출하는 하위 모듈의 수입니다. 그림에서 들어오는 호출선은 3개, 나가는 호출선은 2개이므로 fan-in은 3, fan-out은 2입니다.
선지별 해설
- 1번 ‘fan-in : 2, fan-out:3’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 3번 ‘fan-in : 1, fan-out : 2’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번 ‘fan-in : 2, fan-out : 1’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 2번이다. fan-in은 해당 모듈을 호출하는 상위 모듈의 수이고 fan-out은 해당 모듈이 호출하는 하위 모듈의 수입니다. 그림에서 들어오는 호출선은 3개, 나가는 호출선은 2개이므로 fan-in은 3, fan-out은 2입니다. 검증 기준: fan-in : 3, fan-out : 2의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 8 판정 근거: 정답은 2번이다. fan-in은 해당 모듈을 호출하는 상위 모듈의 수이고 fan-out은 해당 모듈이 호출하는 하위 모듈의 수입니다. 그림에서 들어오는 호출선은 3개, 나가는 호출선은 2개이므로 fan-in은 3, fan-out은 2입니다.
독립 계산·실행 추적: F를 호출하는 모듈은 B·C·D로 3개이고 F가 호출하는 모듈은 G·H로 2개다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: SWEBOK V4 — relevant knowledge area definition and practice
판정 연결: 문항 8 판정 근거: 정답은 2번이다. fan-in은 해당 모듈을 호출하는 상위 모듈의 수이고 fan-out은 해당 모듈이 호출하는 하위 모듈의 수입니다. 그림에서 들어오는 호출선은 3개, 나가는 호출선은 2개이므로 fan-in은 3, fan-out은 2입니다.
9. 설계 검토 회의에서 다음 항목을 판단한다. 요구사항 개발 프로세스의 순서로 타당한 설명을 고르면? ㉠ 도출(Elicitation) ㉡ 분석(Analysis) ㉢ 명세(Specification) ㉣ 확인(Validation)
- ㉠ → ㉢ → ㉡ → ㉣
- ㉠ → ㉣ → ㉡ → ㉢
- ㉠ → ㉡ → ㉣ → ㉢
- ㉠ → ㉡ → ㉢ → ㉣
정답과 해설 보기
정답: 4
정답은 4번이다. 요구사항 개발은 도출, 분석, 명세, 확인 순서로 진행합니다. 따라서 ①이 맞습니다
선지별 해설
- 1번 ‘㉠ → ㉢ → ㉡ → ㉣’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번 ‘㉠ → ㉣ → ㉡ → ㉢’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번 ‘㉠ → ㉡ → ㉣ → ㉢’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
정답 판정: 정답 판정: 정답은 4번이다. 요구사항 개발은 도출, 분석, 명세, 확인 순서로 진행합니다. 따라서 ①이 맞습니다 검증 기준: ㉠ → ㉡ → ㉢ → ㉣의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 9 판정 근거: 정답은 4번이다. 요구사항 개발은 도출, 분석, 명세, 확인 순서로 진행합니다. 따라서 ①이 맞습니다
독립 계산·실행 추적: 요구사항 개발 순서는 도출→분석→명세→확인이다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: SWEBOK V4 — relevant knowledge area definition and practice
판정 연결: 문항 9 판정 근거: 정답은 4번이다. 요구사항 개발은 도출, 분석, 명세, 확인 순서로 진행합니다. 따라서 ①이 맞습니다
10. 설계 검토 회의에서 다음 항목을 판단한다. 온도 제어 시스템을 입력(Input), 처리(Process), 출력(Output), 제어(Control), 피드백(Feedback)의 상호작용으로 모델링하려 한다. 이 구성 요소 목록에 직접 포함되지 않는 것은?
- 소스 저장소의 브랜치 명명 규칙
- 히터 출력을 조정하는 제어
- 센서가 측정한 온도 입력
- 설정값과 측정값을 비교하는 처리
정답과 해설 보기
정답: 1
정답은 1번이다. 일반 시스템 모델은 입력을 처리해 출력을 만들고 제어 및 피드백으로 목표 상태를 유지한다. 저장소 브랜치 명명 규칙은 개발 프로세스의 관리 규칙이지 운용 중인 온도 제어 시스템의 기능 구성 요소가 아니므로 ③이 답이다.
선지별 해설
- 1번은 정답 선지다. 정답 근거 브랜치 명명 규칙은 소프트웨어 형상 관리 관례이며 온도 제어 모델의 구성 요소가 아니다.
- 2번 ‘히터 출력을 조정하는 제어’는 선택 조건과 다르다. 오답 이유 히터 조절은 비교 결과에 따라 시스템 동작을 바꾸는 제어 기능이다.
- 3번 ‘센서가 측정한 온도 입력’는 선택 조건과 다르다. 오답 이유 센서 값은 제어 대상의 현재 상태를 시스템에 전달하는 입력이다.
- 4번 ‘설정값과 측정값을 비교하는 처리’는 선택 조건과 다르다. 오답 이유 설정값과 실제값의 비교는 제어 결정을 위한 처리 기능에 분류된다.
정답 판정: 정답 판정: 정답은 1번이다. 일반 시스템 모델은 입력을 처리해 출력을 만들고 제어 및 피드백으로 목표 상태를 유지한다. 저장소 브랜치 명명 규칙은 개발 프로세스의 관리 규칙이지 운용 중인 온도 제어 시스템의 기능 구성 요소가 아니므로 ③이 답이다. 검증 기준: 소스 저장소의 브랜치 명명 규칙의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 10 판정 근거: 정답은 1번이다. 일반 시스템 모델은 입력을 처리해 출력을 만들고 제어 및 피드백으로 목표 상태를 유지한다. 저장소 브랜치 명명 규칙은 개발 프로세스의 관리 규칙이지 운용 중인 온도 제어 시스템의 기능 구성 요소가 아니므로 ③이 답이다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: SWEBOK V4 — relevant knowledge area definition and practice
판정 연결: 문항 10 판정 근거: 정답은 1번이다. 일반 시스템 모델은 입력을 처리해 출력을 만들고 제어 및 피드백으로 목표 상태를 유지한다. 저장소 브랜치 명명 규칙은 개발 프로세스의 관리 규칙이지 운용 중인 온도 제어 시스템의 기능 구성 요소가 아니므로 ③이 답이다.
11. 설계 검토 회의에서 다음 항목을 판단한다. 요구사항 R-11가 변경되었다. 영향받는 설계 요소와 테스트를 가장 직접적으로 추적할 산출물은?
- 개발자 근무표
- 화면 색상표
- 요구사항 추적 매트릭스
- 배포 서버 목록
정답과 해설 보기
정답: 3
정답은 3번이다. 요구사항 추적 매트릭스는 요구사항 식별자와 설계·구현·테스트 산출물의 대응 관계를 유지한다.
선지별 해설
- 1번 ‘개발자 근무표’는 선택 조건과 다르다. 오답 이유 개발자 근무표는 인력 일정 자료로 요구사항 추적 산출물이 아니다.
- 2번 ‘화면 색상표’는 선택 조건과 다르다. 오답 이유 화면 색상표는 시각 규칙을 관리하지만 요구사항과 테스트의 연결을 나타내지 않는다.
- 3번은 정답 선지다. 정답 근거 요구사항-설계-테스트 연결을 행과 열로 기록해 변경 영향을 역추적할 수 있다.
- 4번 ‘배포 서버 목록’는 선택 조건과 다르다. 오답 이유 배포 서버 목록은 운영 자원 정보이며 요구 변경의 설계 영향을 추적하지 않는다.
정답 판정: 정답 판정: 정답은 3번이다. 요구사항 추적 매트릭스는 요구사항 식별자와 설계·구현·테스트 산출물의 대응 관계를 유지한다. 검증 기준: 요구사항 추적 매트릭스의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 11 판정 근거: 정답은 3번이다. 요구사항 추적 매트릭스는 요구사항 식별자와 설계·구현·테스트 산출물의 대응 관계를 유지한다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: SWEBOK V4 — relevant knowledge area definition and practice
판정 연결: 문항 11 판정 근거: 정답은 3번이다. 요구사항 추적 매트릭스는 요구사항 식별자와 설계·구현·테스트 산출물의 대응 관계를 유지한다.
12. 설계 검토 회의에서 다음 항목을 판단한다. 주문 객체가 결제 객체와 재고 객체에 메시지를 보내는 시간 순서를 생명선으로 표현한 UML 다이어그램에 대한 기술로 적절하지 않은 설명을 고르면?
- 객체 사이의 상호작용을 나타낸다.
- 위에서 아래로 시간 흐름을 읽는다.
- 클래스의 정적 상속 구조를 중심으로 나타내는 구조 다이어그램이다.
- 상호작용 다이어그램의 한 종류다.
정답과 해설 보기
정답: 3
정답은 3번이다. 생명선과 메시지의 시간 순서를 표현하는 것은 시퀀스 다이어그램이며 동적 행위 다이어그램이다. 정적 상속 구조 중심이라는 ③이 틀리다.
선지별 해설
- 1번 ‘객체 사이의 상호작용을 나타낸다.’는 선택 조건과 다르다. 오답 이유 시퀀스 다이어그램은 참여 객체와 메시지 교환을 보여 준다.
- 2번 ‘위에서 아래로 시간 흐름을 읽는다.’는 선택 조건과 다르다. 오답 이유 일반적으로 세로축 아래 방향이 시간의 진행을 뜻한다.
- 3번은 정답 선지다. 정답 근거 정적 상속 구조는 클래스 다이어그램의 중심 표현이다.
- 4번 ‘상호작용 다이어그램의 한 종류다.’는 선택 조건과 다르다. 오답 이유 시퀀스 다이어그램은 UML 상호작용 다이어그램에 속한다.
정답 판정: 정답 판정: 정답은 3번이다. 생명선과 메시지의 시간 순서를 표현하는 것은 시퀀스 다이어그램이며 동적 행위 다이어그램이다. 정적 상속 구조 중심이라는 ③이 틀리다. 검증 기준: 클래스의 정적 상속 구조를 중심으로 나타내는 구조 다이어그램이다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 12 판정 근거: 정답은 3번이다. 생명선과 메시지의 시간 순서를 표현하는 것은 시퀀스 다이어그램이며 동적 행위 다이어그램이다. 정적 상속 구조 중심이라는 ③이 틀리다.
- OMG UML 2.5.1 specification
확인 위치: UML 2.5.1 — use cases and object-oriented model elements
판정 연결: 문항 12 판정 근거: 정답은 3번이다. 생명선과 메시지의 시간 순서를 표현하는 것은 시퀀스 다이어그램이며 동적 행위 다이어그램이다. 정적 상속 구조 중심이라는 ③이 틀리다.
13. 설계 검토 회의에서 다음 항목을 판단한다. 입력 오류를 알리는 사용자 인터페이스 설계로 가장 부적절한 것은?
- 수정 방법과 다시 시도할 수단을 함께 제공한다.
- 중요한 결과와 데이터 손실 가능성을 구체적으로 알린다.
- 색·아이콘·레이블을 제거하고 작은 텍스트 한 방식으로만 전달한다.
- 무엇이 잘못됐는지 일상적인 표현으로 알려 준다.
정답과 해설 보기
정답: 3
정답은 3번이다. 오류 메시지는 문제, 영향, 복구 방법을 명확히 제시하고 색상에만 의존하지 않는 여러 단서를 함께 써야 한다. 작은 텍스트 하나로만 전달한다는 ④는 인지성과 접근성을 낮춘다.
선지별 해설
- 1번 ‘수정 방법과 다시 시도할 수단을 함께 제공한다.’는 선택 조건과 다르다. 오답 이유 복구 절차와 행동 버튼은 사용자가 작업을 이어가게 한다.
- 2번 ‘중요한 결과와 데이터 손실 가능성을 구체적으로 알린다.’는 선택 조건과 다르다. 오답 이유 중대한 영향은 사용자가 안전한 선택을 하도록 분명히 알려야 한다.
- 3번은 정답 선지다. 정답 근거 텍스트만 작게 제시하면 저시력 사용자와 빠른 상황 인지가 모두 어려워진다.
- 4번 ‘무엇이 잘못됐는지 일상적인 표현으로 알려 준다.’는 선택 조건과 다르다. 오답 이유 사용자가 이해할 수 있는 문구는 오류 원인 파악을 돕는다.
정답 판정: 정답 판정: 정답은 3번이다. 오류 메시지는 문제, 영향, 복구 방법을 명확히 제시하고 색상에만 의존하지 않는 여러 단서를 함께 써야 한다. 작은 텍스트 하나로만 전달한다는 ④는 인지성과 접근성을 낮춘다. 검증 기준: 색·아이콘·레이블을 제거하고 작은 텍스트 한 방식으로만 전달한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 13 판정 근거: 정답은 3번이다. 오류 메시지는 문제, 영향, 복구 방법을 명확히 제시하고 색상에만 의존하지 않는 여러 단서를 함께 써야 한다. 작은 텍스트 하나로만 전달한다는 ④는 인지성과 접근성을 낮춘다.
- W3C WCAG 2.2 — Error Identification and Use of Color
확인 위치: WCAG 2.2 — error identification and user guidance
판정 연결: 문항 13 판정 근거: 정답은 3번이다. 오류 메시지는 문제, 영향, 복구 방법을 명확히 제시하고 색상에만 의존하지 않는 여러 단서를 함께 써야 한다. 작은 텍스트 하나로만 전달한다는 ④는 인지성과 접근성을 낮춘다.
14. 설계 검토 회의에서 다음 항목을 판단한다. 클래스가 인터페이스에 정의된 연산을 구현할 때 두 요소 사이의 UML 관계로 가장 알맞은 것은?
- 실체화(Realization)
- 의존(Dependency)
- 집합(Aggregation)
- 일반화(Generalization)
정답과 해설 보기
정답: 1
정답은 1번이다. UML에서 클래스가 인터페이스의 명세와 연산을 실제로 구현하는 관계는 실체화(Realization)다. 일반화는 상위·하위 분류의 상속 관계이고, 집합은 전체·부분 관계다.
선지별 해설
- 1번은 정답 선지다. 정답 근거 클래스가 인터페이스의 명세를 구현하므로 실체화 관계다.
- 2번 ‘의존(Dependency)’는 선택 조건과 다르다. 오답 이유 의존은 한 요소의 변경이 다른 요소에 영향을 줄 수 있는 약한 사용 관계다.
- 3번 ‘집합(Aggregation)’는 선택 조건과 다르다. 오답 이유 집합은 전체와 부분을 나타내는 관계이며 인터페이스 구현 계약을 뜻하지 않는다.
- 4번 ‘일반화(Generalization)’는 선택 조건과 다르다. 오답 이유 일반화는 하위 분류가 상위 분류의 특성을 상속하는 관계다.
정답 판정: 정답 판정: 정답은 1번이다. UML에서 클래스가 인터페이스의 명세와 연산을 실제로 구현하는 관계는 실체화(Realization)다. 일반화는 상위·하위 분류의 상속 관계이고, 집합은 전체·부분 관계다. 검증 기준: 실체화(Realization)의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 14 판정 근거: 정답은 1번이다. UML에서 클래스가 인터페이스의 명세와 연산을 실제로 구현하는 관계는 실체화(Realization)다. 일반화는 상위·하위 분류의 상속 관계이고, 집합은 전체·부분 관계다.
- OMG UML 2.5.1 specification
확인 위치: UML 2.5.1 — use cases and object-oriented model elements
판정 연결: 문항 14 판정 근거: 정답은 1번이다. UML에서 클래스가 인터페이스의 명세와 연산을 실제로 구현하는 관계는 실체화(Realization)다. 일반화는 상위·하위 분류의 상속 관계이고, 집합은 전체·부분 관계다.
15. 설계 검토 회의에서 다음 항목을 판단한다. 정보공학 방법론에서 데이터베이스 설계의 표현으로 사용하는 모델링 언어는?
- Entity-Relationship Diagram
- Package Diagram
- State Transition Diagram
- Deployment Diagram
정답과 해설 보기
정답: 1
정답은 1번이다. ERD는 개체, 속성, 개체 사이의 관계를 도식화해 데이터베이스의 개념 구조를 표현합니다. 정보공학 방법론에서 업무 데이터를 분석하고 논리 데이터 모델의 기반을 만드는 데 사용됩니다.
선지별 해설
- 1번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 2번 ‘Package Diagram’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번 ‘State Transition Diagram’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번 ‘Deployment Diagram’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 1번이다. ERD는 개체, 속성, 개체 사이의 관계를 도식화해 데이터베이스의 개념 구조를 표현합니다. 정보공학 방법론에서 업무 데이터를 분석하고 논리 데이터 모델의 기반을 만드는 데 사용됩니다. 검증 기준: Entity-Relationship Diagram의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 15 판정 근거: 정답은 1번이다. ERD는 개체, 속성, 개체 사이의 관계를 도식화해 데이터베이스의 개념 구조를 표현합니다. 정보공학 방법론에서 업무 데이터를 분석하고 논리 데이터 모델의 기반을 만드는 데 사용됩니다.
- Peter P. Chen — The Entity-Relationship Model (paper mirror)
확인 위치: Chen ER model — entity, relationship and attribute notation
판정 연결: 문항 15 판정 근거: 정답은 1번이다. ERD는 개체, 속성, 개체 사이의 관계를 도식화해 데이터베이스의 개념 구조를 표현합니다. 정보공학 방법론에서 업무 데이터를 분석하고 논리 데이터 모델의 기반을 만드는 데 사용됩니다.
16. 설계 검토 회의에서 다음 항목을 판단한다. GoF(Gang of Four) 디자인 패턴을 생성·구조·행동의 세 그룹으로 분류할 때, 구조 패턴이 해당하지 않는 것을 고르면?
- Adapter 패턴
- Bridge 패턴
- Builder 패턴
- Proxy 패턴
정답과 해설 보기
정답: 3
정답은 3번이다. Builder는 복잡한 객체의 생성 절차와 표현을 분리하는 생성 패턴입니다. Adapter·Bridge·Proxy는 클래스나 객체를 조합하는 구조 패턴이므로 구조 패턴이 아닌 것은 ③ Builder입니다.
선지별 해설
- 1번 ‘Adapter 패턴’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번 ‘Bridge 패턴’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 4번 ‘Proxy 패턴’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 3번이다. Builder는 복잡한 객체의 생성 절차와 표현을 분리하는 생성 패턴입니다. Adapter·Bridge·Proxy는 클래스나 객체를 조합하는 구조 패턴이므로 구조 패턴이 아닌 것은 ③ Builder입니다. 검증 기준: Builder 패턴의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 16 판정 근거: 정답은 3번이다. Builder는 복잡한 객체의 생성 절차와 표현을 분리하는 생성 패턴입니다. Adapter·Bridge·Proxy는 클래스나 객체를 조합하는 구조 패턴이므로 구조 패턴이 아닌 것은 ③ Builder입니다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: SWEBOK V4 — relevant knowledge area definition and practice
판정 연결: 문항 16 판정 근거: 정답은 3번이다. Builder는 복잡한 객체의 생성 절차와 표현을 분리하는 생성 패턴입니다. Adapter·Bridge·Proxy는 클래스나 객체를 조합하는 구조 패턴이므로 구조 패턴이 아닌 것은 ③ Builder입니다.
17. 설계 검토 회의에서 다음 항목을 판단한다. 모바일 기기에서 사용하는 NUI 인터페이스에 속하지 않는 것은 어떤 용어인가?
- press
- Flow
- Flick
- Pinch
정답과 해설 보기
정답: 2
정답은 2번이다. 핀치, 프레스, 플릭은 터치 기반 자연 사용자 인터페이스에서 사용하는 제스처입니다. Flow는 화면이나 작업의 흐름을 뜻할 뿐 표준 제스처 이름이 아닙니다
선지별 해설
- 1번 ‘press’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 3번 ‘Flick’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번 ‘Pinch’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 2번이다. 핀치, 프레스, 플릭은 터치 기반 자연 사용자 인터페이스에서 사용하는 제스처입니다. Flow는 화면이나 작업의 흐름을 뜻할 뿐 표준 제스처 이름이 아닙니다 검증 기준: Flow의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 17 판정 근거: 정답은 2번이다. 핀치, 프레스, 플릭은 터치 기반 자연 사용자 인터페이스에서 사용하는 제스처입니다. Flow는 화면이나 작업의 흐름을 뜻할 뿐 표준 제스처 이름이 아닙니다
- Microsoft Learn — Touch interactions
확인 위치: Touch interactions — common gestures and manipulation
판정 연결: 문항 17 판정 근거: 정답은 2번이다. 핀치, 프레스, 플릭은 터치 기반 자연 사용자 인터페이스에서 사용하는 제스처입니다. Flow는 화면이나 작업의 흐름을 뜻할 뿐 표준 제스처 이름이 아닙니다
18. 설계 검토 회의에서 다음 항목을 판단한다. 코드 작성자가 동료들과 예제 입력을 손으로 따라가며 알고리즘 흐름을 설명했다. 이 워크스루 활동에 대한 기술로 잘못된 것은?
- 공식 인스펙션과 역할·진행·결함 기록 규칙이 반드시 같다.
- 참가자의 질문으로 누락된 조건을 찾을 수 있다.
- 복잡한 분기와 반복의 이해를 돕는 데 사용할 수 있다.
- 코드뿐 아니라 설계·테스트 케이스도 검토할 수 있다.
정답과 해설 보기
정답: 1
정답은 1번이다. 워크스루는 작성자 설명과 참가자 질문을 중심으로 산출물을 검토한다. 정형 인스펙션은 역할과 절차가 더 엄격하므로 반드시 같다는 ③이 틀리다.
선지별 해설
- 1번은 정답 선지다. 정답 근거 인스펙션의 공식 역할과 기록 절차는 워크스루의 필수 조건이 아니다.
- 2번 ‘참가자의 질문으로 누락된 조건을 찾을 수 있다.’는 선택 조건과 다르다. 오답 이유 동료 질문은 작성자가 놓친 경계조건이나 가정을 드러낼 수 있다.
- 3번 ‘복잡한 분기와 반복의 이해를 돕는 데 사용할 수 있다.’는 선택 조건과 다르다. 오답 이유 수작업 추적은 복잡한 제어 흐름을 함께 이해하는 데 유용하다.
- 4번 ‘코드뿐 아니라 설계·테스트 케이스도 검토할 수 있다.’는 선택 조건과 다르다. 오답 이유 워크스루 대상은 코드에 한정되지 않고 여러 개발 산출물을 포함할 수 있다.
정답 판정: 정답 판정: 정답은 1번이다. 워크스루는 작성자 설명과 참가자 질문을 중심으로 산출물을 검토한다. 정형 인스펙션은 역할과 절차가 더 엄격하므로 반드시 같다는 ③이 틀리다. 검증 기준: 공식 인스펙션과 역할·진행·결함 기록 규칙이 반드시 같다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 18 판정 근거: 정답은 1번이다. 워크스루는 작성자 설명과 참가자 질문을 중심으로 산출물을 검토한다. 정형 인스펙션은 역할과 절차가 더 엄격하므로 반드시 같다는 ③이 틀리다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: SWEBOK V4 — relevant knowledge area definition and practice
판정 연결: 문항 18 판정 근거: 정답은 1번이다. 워크스루는 작성자 설명과 참가자 질문을 중심으로 산출물을 검토한다. 정형 인스펙션은 역할과 절차가 더 엄격하므로 반드시 같다는 ③이 틀리다.
19. 설계 검토 회의에서 다음 항목을 판단한다. 문서 조회 기능만 사용하는 클라이언트가 read, write, delete를 모두 가진 저장소 인터페이스에 의존하고 있다. 인터페이스 분리 원칙에 맞는 개선은?
- 모든 클라이언트가 전체 저장소 구현 클래스에 직접 의존하게 한다.
- 읽기 계약과 변경 계약을 나누어 조회 클라이언트는 읽기 계약에만 의존하게 한다.
- 세 연산을 하나의 전역 정적 함수로 합친다.
- 조회 구현에서 write와 delete를 빈 메서드로 둔다.
정답과 해설 보기
정답: 2
정답은 2번이다. 인터페이스 분리 원칙은 클라이언트가 사용하지 않는 메서드에 의존하지 않게 계약을 나누도록 한다. 읽기 전용 클라이언트가 조회 계약만 참조하면 변경 연산의 수정이나 구현 부담이 불필요하게 전파되지 않는다.
선지별 해설
- 1번 ‘모든 클라이언트가 전체 저장소 구현 클래스에 직접 의존하게 한다.’는 선택 조건과 다르다. 오답 이유 구현 클래스에 직접 의존하면 변경 범위와 결합도가 커지고 필요한 계약만 분리하는 목적과 반대가 된다.
- 2번은 정답 선지다. 정답 근거 클라이언트별로 필요한 연산만 포함한 계약을 제공하므로 불필요한 의존과 빈 구현을 제거한다.
- 3번 ‘세 연산을 하나의 전역 정적 함수로 합친다.’는 선택 조건과 다르다. 오답 이유 전역 함수로 합쳐도 조회 클라이언트가 변경 연산까지 아는 큰 계약 문제는 해결되지 않는다.
- 4번 ‘조회 구현에서 write와 delete를 빈 메서드로 둔다.’는 선택 조건과 다르다. 오답 이유 빈 구현은 사용하지 않는 메서드를 구현하도록 강제하는 원인을 그대로 남긴다.
정답 판정: 정답 판정: 정답은 2번이다. 인터페이스 분리 원칙은 클라이언트가 사용하지 않는 메서드에 의존하지 않게 계약을 나누도록 한다. 읽기 전용 클라이언트가 조회 계약만 참조하면 변경 연산의 수정이나 구현 부담이 불필요하게 전파되지 않는다. 검증 기준: 읽기 계약과 변경 계약을 나누어 조회 클라이언트는 읽기 계약에만 의존하게 한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 19 판정 근거: 정답은 2번이다. 인터페이스 분리 원칙은 클라이언트가 사용하지 않는 메서드에 의존하지 않게 계약을 나누도록 한다. 읽기 전용 클라이언트가 조회 계약만 참조하면 변경 연산의 수정이나 구현 부담이 불필요하게 전파되지 않는다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: SWEBOK V4 — relevant knowledge area definition and practice
판정 연결: 문항 19 판정 근거: 정답은 2번이다. 인터페이스 분리 원칙은 클라이언트가 사용하지 않는 메서드에 의존하지 않게 계약을 나누도록 한다. 읽기 전용 클라이언트가 조회 계약만 참조하면 변경 연산의 수정이나 구현 부담이 불필요하게 전파되지 않는다.
20. 설계 검토 회의에서 다음 항목을 판단한다. 기능 계층도와 각 기능의 입력·처리·출력 도표를 함께 작성하는 HIPO에 대한 기술로 틀린 설명을 고르면?
- 가장 낮은 모듈부터 조립 순서만 기록하는 상향식 코딩 도구다.
- 전체 기능과 세부 기능의 계층 관계를 나타낸다.
- 각 기능의 입력·처리·출력을 문서화한다.
- 표준화된 그림으로 시스템을 설명해 의사소통을 돕는다.
정답과 해설 보기
정답: 1
정답은 1번이다. HIPO는 상위 기능에서 하위 기능으로 분해하며 IPO 정보를 문서화한다. 상향식 코딩 순서만 기록한다는 ①이 틀리다.
선지별 해설
- 1번은 정답 선지다. 정답 근거 HIPO는 구현 조립 순서가 아니라 하향식 기능 분석과 문서화에 사용한다.
- 2번 ‘전체 기능과 세부 기능의 계층 관계를 나타낸다.’는 선택 조건과 다르다. 오답 이유 Hierarchy 도표는 전체와 세부 기능의 포함 관계를 보여 준다.
- 3번 ‘각 기능의 입력·처리·출력을 문서화한다.’는 선택 조건과 다르다. 오답 이유 IPO 도표는 입력 데이터, 처리, 출력 결과를 연결한다.
- 4번 ‘표준화된 그림으로 시스템을 설명해 의사소통을 돕는다.’는 선택 조건과 다르다. 오답 이유 일관된 도표는 개발자와 사용자 사이의 이해를 돕는다.
정답 판정: 정답 판정: 정답은 1번이다. HIPO는 상위 기능에서 하위 기능으로 분해하며 IPO 정보를 문서화한다. 상향식 코딩 순서만 기록한다는 ①이 틀리다. 검증 기준: 가장 낮은 모듈부터 조립 순서만 기록하는 상향식 코딩 도구다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 20 판정 근거: 정답은 1번이다. HIPO는 상위 기능에서 하위 기능으로 분해하며 IPO 정보를 문서화한다. 상향식 코딩 순서만 기록한다는 ①이 틀리다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: SWEBOK V4 — relevant knowledge area definition and practice
판정 연결: 문항 20 판정 근거: 정답은 1번이다. HIPO는 상위 기능에서 하위 기능으로 분해하며 IPO 정보를 문서화한다. 상향식 코딩 순서만 기록한다는 ①이 틀리다.
정보처리기사 필기 기출문제 · 소프트웨어 개발
21. 개발·시험 담당자가 다음 사례를 검토한다. 반정규화(Denormalization) 유형 중 중복 테이블을 추가하는 방법에 해당하지 않는 것은?
- 집계 테이블의 추가
- 진행 테이블의 추가
- 특정 부분만을 포함하는 테이블 추가
- 빌드 테이블의 추가
정답과 해설 보기
정답: 4
정답은 4번이다. 반정규화의 중복 테이블 추가 유형은 여러 원본의 수치를 미리 모은 집계 테이블, 변경 이력을 누적하는 진행 테이블, 자주 쓰는 열만 복제한 부분 테이블입니다. ‘빌드 테이블’은 이 분류에 없는 용어이므로 ①이 정답이며, ④의 특정 부분 포함 테이블은 실제 중복 테이블 추가 방법입니다.
선지별 해설
- 1번 ‘집계 테이블의 추가’는 선택 조건과 다르다. 오답 이유 집계 테이블은 여러 테이블의 합계·통계를 미리 저장해 반복 집계 비용을 줄이는 중복 테이블입니다.
- 2번 ‘진행 테이블의 추가’는 선택 조건과 다르다. 오답 이유 진행 테이블은 업무의 변경·진행 이력을 효율적으로 조회하도록 중복 정보를 누적하는 방식입니다.
- 3번 ‘특정 부분만을 포함하는 테이블 추가’는 선택 조건과 다르다. 오답 이유 특정 부분 포함 테이블은 원본에서 자주 조회하는 일부 열이나 행을 따로 복제하는 중복 테이블입니다.
- 4번은 정답 선지다. 정답 근거 ‘빌드 테이블’은 반정규화에서 사용하는 표준 중복 테이블 유형이 아닙니다.
정답 판정: 정답 판정: 정답은 4번이다. 반정규화의 중복 테이블 추가 유형은 여러 원본의 수치를 미리 모은 집계 테이블, 변경 이력을 누적하는 진행 테이블, 자주 쓰는 열만 복제한 부분 테이블입니다. ‘빌드 테이블’은 이 분류에 없는 용어이므로 ①이 정답이며, ④의 특정 부분 포함 테이블은 실제 중복 테이블 추가 방법입니다. 검증 기준: 빌드 테이블의 추가의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 21 판정 근거: 정답은 4번이다. 반정규화의 중복 테이블 추가 유형은 여러 원본의 수치를 미리 모은 집계 테이블, 변경 이력을 누적하는 진행 테이블, 자주 쓰는 열만 복제한 부분 테이블입니다. ‘빌드 테이블’은 이 분류에 없는 용어이므로 ①이 정답이며, ④의 특정 부분 포함 테이블은 실제 중복 테이블 추가 방법입니다.
- SWEBOK Computing Foundations — Databases
확인 위치: SWEBOK Computing Foundations — database design and keys
판정 연결: 문항 21 판정 근거: 정답은 4번이다. 반정규화의 중복 테이블 추가 유형은 여러 원본의 수치를 미리 모은 집계 테이블, 변경 이력을 누적하는 진행 테이블, 자주 쓰는 열만 복제한 부분 테이블입니다. ‘빌드 테이블’은 이 분류에 없는 용어이므로 ①이 정답이며, ④의 특정 부분 포함 테이블은 실제 중복 테이블 추가 방법입니다.
22. 개발·시험 담당자가 다음 사례를 검토한다. 입력 배열 길이가 10이든 1,000,000이든 첫 번째 원소 하나만 읽어 반환하는 함수의 시간 복잡도는?
- O(1) — 입력 크기와 무관하게 한 번 접근
- O(log n) — 매 단계 입력을 절반으로 줄임
- 실행할 수 없음
- O(n) — 입력 원소를 모두 한 번씩 읽음
정답과 해설 보기
정답: 1
정답은 1번이다. 배열 첫 원소 접근 횟수는 입력 길이와 관계없이 한 번이다. 따라서 상수 시간 O(1)을 설명한 ③이 맞다.
선지별 해설
- 1번은 정답 선지다. 정답 근거 고정 횟수의 인덱스 접근이므로 O(1)이다.
- 2번 ‘O(log n) — 매 단계 입력을 절반으로 줄임’는 선택 조건과 다르다. 오답 이유 입력을 반복해 절반으로 줄이는 과정이 없으므로 O(log n)이 아니다.
- 3번 ‘실행할 수 없음’는 선택 조건과 다르다. 오답 이유 입력 크기와 무관한 단순 접근은 정상적으로 실행 가능하다.
- 4번 ‘O(n) — 입력 원소를 모두 한 번씩 읽음’는 선택 조건과 다르다. 오답 이유 모든 원소를 순회하지 않으므로 O(n)이 아니다.
정답 판정: 정답 판정: 정답은 1번이다. 배열 첫 원소 접근 횟수는 입력 길이와 관계없이 한 번이다. 따라서 상수 시간 O(1)을 설명한 ③이 맞다. 검증 기준: O(1) — 입력 크기와 무관하게 한 번 접근의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 22 판정 근거: 정답은 1번이다. 배열 첫 원소 접근 횟수는 입력 길이와 관계없이 한 번이다. 따라서 상수 시간 O(1)을 설명한 ③이 맞다.
독립 계산·실행 추적: 입력 크기와 무관하게 첫 원소 한 번만 읽으므로 O(1)이다.
- NIST DADS — Big-O notation
확인 위치: NIST DADS — constant and asymptotic time complexity
판정 연결: 문항 22 판정 근거: 정답은 1번이다. 배열 첫 원소 접근 횟수는 입력 길이와 관계없이 한 번이다. 따라서 상수 시간 O(1)을 설명한 ③이 맞다.
23. 개발·시험 담당자가 다음 사례를 검토한다. DRM의 콘텐츠 이용 통제 기술과 관련성이 가장 낮은 방침을 고르면?
- 네트워크 경계 패킷을 차단하는 방화벽 정책
- 무단 복제 방지
- 라이선스 정책 관리
- 콘텐츠 암호화와 키 관리
정답과 해설 보기
정답: 1
정답은 1번이다. 방화벽은 네트워크 접근을 통제하는 일반 보안 기술이다. 콘텐츠 권리와 이용을 직접 관리하는 DRM 기술 요소가 아니므로 ④가 답이다.
선지별 해설
- 1번은 정답 선지다. 정답 근거 방화벽은 네트워크 트래픽을 통제하며 특정 콘텐츠의 권리·라이선스를 관리하지 않는다.
- 2번 ‘무단 복제 방지’는 선택 조건과 다르다. 오답 이유 복제 제어는 라이선스가 허용하지 않은 콘텐츠 복사를 제한하는 DRM 기능이다.
- 3번 ‘라이선스 정책 관리’는 선택 조건과 다르다. 오답 이유 라이선스 정책은 이용 횟수·기간·기기 같은 권리를 표현하고 집행한다.
- 4번 ‘콘텐츠 암호화와 키 관리’는 선택 조건과 다르다. 오답 이유 콘텐츠 암호화와 키 전달은 권한 있는 이용자만 복호화하도록 한다.
정답 판정: 정답 판정: 정답은 1번이다. 방화벽은 네트워크 접근을 통제하는 일반 보안 기술이다. 콘텐츠 권리와 이용을 직접 관리하는 DRM 기술 요소가 아니므로 ④가 답이다. 검증 기준: 네트워크 경계 패킷을 차단하는 방화벽 정책의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 23 판정 근거: 정답은 1번이다. 방화벽은 네트워크 접근을 통제하는 일반 보안 기술이다. 콘텐츠 권리와 이용을 직접 관리하는 DRM 기술 요소가 아니므로 ④가 답이다.
- W3C Recommendation — ODRL Information Model 2.2
확인 위치: W3C ODRL information model — packaged asset and rights controls
판정 연결: 문항 23 판정 근거: 정답은 1번이다. 방화벽은 네트워크 접근을 통제하는 일반 보안 기술이다. 콘텐츠 권리와 이용을 직접 관리하는 DRM 기술 요소가 아니므로 ④가 답이다.
24. 개발·시험 담당자가 다음 사례를 검토한다. 제어 흐름 그래프가 노드 9개, 간선 11개인 하나의 연결 성분이다. 순환 복잡도 E-N+2는?
- 4
- 2
- 9
- 20
정답과 해설 보기
정답: 1
정답은 1번이다. 하나의 연결 성분을 가진 제어 흐름 그래프의 순환 복잡도는 V(G)=E-N+2다. 간선 수 E=11, 노드 수 N=9를 대입하면 V(G)=11-9+2=4가 된다. 순환 복잡도 4는 제어 흐름에서 선형 독립인 경로가 네 개라는 뜻이며 분기 기반 테스트 설계의 최소 경로 수를 정할 때 활용된다.
선지별 해설
- 1번은 정답 선지다. 정답 근거 간선 11개와 노드 9개를 E-N+2에 대입한 결과가 4이므로 독립 경로 수도 네 개다.
- 2번 ‘2’는 선택 조건과 다르다. 오답 이유 2는 연결 성분 하나를 반영하는 보정 상수만 선택한 값으로 그래프의 간선·노드 차이를 누락했다.
- 3번 ‘9’는 선택 조건과 다르다. 오답 이유 9는 노드의 개수이며 제어 흐름의 분기와 순환을 반영한 복잡도 계산 결과가 아니다.
- 4번 ‘20’는 선택 조건과 다르다. 오답 이유 20은 간선과 노드를 더한 값으로 순환 복잡도의 뺄셈 구조를 적용하지 않은 오답이다.
정답 판정: 정답 판정: 정답은 1번이다. 하나의 연결 성분을 가진 제어 흐름 그래프의 순환 복잡도는 V(G)=E-N+2다. 간선 수 E=11, 노드 수 N=9를 대입하면 V(G)=11-9+2=4가 된다. 순환 복잡도 4는 제어 흐름에서 선형 독립인 경로가 네 개라는 뜻이며 분기 기반 테스트 설계의 최소 경로 수를 정할 때 활용된다. 검증 기준: 4의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 24 판정 근거: 정답은 1번이다. 하나의 연결 성분을 가진 제어 흐름 그래프의 순환 복잡도는 V(G)=E-N+2다. 간선 수 E=11, 노드 수 N=9를 대입하면 V(G)=11-9+2=4가 된다. 순환 복잡도 4는 제어 흐름에서 선형 독립인 경로가 네 개라는 뜻이며 분기 기반 테스트 설계의 최소 경로 수를 정할 때 활용된다.
독립 계산·실행 추적: E-N+2=11-9+2=4다.
- NIST SP 500-235 — Structured Testing and Cyclomatic Complexity
확인 위치: NIST DADS — V(G)=E-N+2 for a connected flow graph
판정 연결: 문항 24 판정 근거: 정답은 1번이다. 하나의 연결 성분을 가진 제어 흐름 그래프의 순환 복잡도는 V(G)=E-N+2다. 간선 수 E=11, 노드 수 N=9를 대입하면 V(G)=11-9+2=4가 된다. 순환 복잡도 4는 제어 흐름에서 선형 독립인 경로가 네 개라는 뜻이며 분기 기반 테스트 설계의 최소 경로 수를 정할 때 활용된다. - IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: SWEBOK V4 — relevant knowledge area definition and practice
판정 연결: 문항 24 판정 근거: 정답은 1번이다. 하나의 연결 성분을 가진 제어 흐름 그래프의 순환 복잡도는 V(G)=E-N+2다. 간선 수 E=11, 노드 수 N=9를 대입하면 V(G)=11-9+2=4가 된다. 순환 복잡도 4는 제어 흐름에서 선형 독립인 경로가 네 개라는 뜻이며 분기 기반 테스트 설계의 최소 경로 수를 정할 때 활용된다.
25. 개발·시험 담당자가 다음 사례를 검토한다. 인터페이스 보안을 위해 네트워크 영역에 적용될 수 있는 솔루션과 관련성이 낮은 것은?
- SSL
- SMTP
- S-HTTP
- IPSec
정답과 해설 보기
정답: 2
정답은 2번이다. IPSec, SSL/TLS와 S-HTTP는 통신 내용을 보호하는 보안 기술입니다. SMTP는 전자우편을 전송하는 응용계층 프로토콜로 자체가 네트워크 보안 솔루션은 아니므로 정답입니다.
선지별 해설
- 1번 ‘SSL’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 3번 ‘S-HTTP’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번 ‘IPSec’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 2번이다. IPSec, SSL/TLS와 S-HTTP는 통신 내용을 보호하는 보안 기술입니다. SMTP는 전자우편을 전송하는 응용계층 프로토콜로 자체가 네트워크 보안 솔루션은 아니므로 정답입니다. 검증 기준: SMTP의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 25 판정 근거: 정답은 2번이다. IPSec, SSL/TLS와 S-HTTP는 통신 내용을 보호하는 보안 기술입니다. SMTP는 전자우편을 전송하는 응용계층 프로토콜로 자체가 네트워크 보안 솔루션은 아니므로 정답입니다.
- NIST SP 800-123 — General Server Security
확인 위치: NIST secure software guidance — input validation
판정 연결: 문항 25 판정 근거: 정답은 2번이다. IPSec, SSL/TLS와 S-HTTP는 통신 내용을 보호하는 보안 기술입니다. SMTP는 전자우편을 전송하는 응용계층 프로토콜로 자체가 네트워크 보안 솔루션은 아니므로 정답입니다.
26. 개발·시험 담당자가 다음 사례를 검토한다. DRM 구성 요소와 역할의 연결로 적절하지 않은 설명을 고르면?
- 클리어링 하우스 — 라이선스 발급과 사용 권한 정보를 관리한다.
- DRM 컨트롤러 — 이용 조건을 확인하고 재생·복사 권한을 통제한다.
- 콘텐츠 제공자 — 보호할 원본 콘텐츠와 권리를 제공한다.
- 콘텐츠 분배자 — 원본을 암호화하고 메타데이터와 묶어 배포 패키지를 직접 생성한다.
정답과 해설 보기
정답: 4
정답은 4번이다. 원본을 암호화하고 메타데이터와 결합해 배포 단위로 만드는 역할은 패키저다. 분배자는 완성된 보호 콘텐츠를 전달하므로 ②의 연결이 틀리다.
선지별 해설
- 1번 ‘클리어링 하우스 — 라이선스 발급과 사용 권한 정보를 관리한다.’는 선택 조건과 다르다. 오답 이유 클리어링 하우스는 권리·과금·라이선스 발급을 중개한다.
- 2번 ‘DRM 컨트롤러 — 이용 조건을 확인하고 재생·복사 권한을 통제한다.’는 선택 조건과 다르다. 오답 이유 DRM 컨트롤러는 라이선스 조건에 따라 사용 행위를 허용하거나 거부한다.
- 3번 ‘콘텐츠 제공자 — 보호할 원본 콘텐츠와 권리를 제공한다.’는 선택 조건과 다르다. 오답 이유 제공자는 콘텐츠와 권리 정보를 DRM 유통 과정에 제공한다.
- 4번은 정답 선지다. 정답 근거 패키징은 패키저의 역할이며 분배자는 완성된 콘텐츠를 유통한다.
정답 판정: 정답 판정: 정답은 4번이다. 원본을 암호화하고 메타데이터와 결합해 배포 단위로 만드는 역할은 패키저다. 분배자는 완성된 보호 콘텐츠를 전달하므로 ②의 연결이 틀리다. 검증 기준: 콘텐츠 분배자 — 원본을 암호화하고 메타데이터와 묶어 배포 패키지를 직접 생성한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 26 판정 근거: 정답은 4번이다. 원본을 암호화하고 메타데이터와 결합해 배포 단위로 만드는 역할은 패키저다. 분배자는 완성된 보호 콘텐츠를 전달하므로 ②의 연결이 틀리다.
- W3C Recommendation — ODRL Information Model 2.2
확인 위치: W3C ODRL information model — packaged asset and rights controls
판정 연결: 문항 26 판정 근거: 정답은 4번이다. 원본을 암호화하고 메타데이터와 결합해 배포 단위로 만드는 역할은 패키저다. 분배자는 완성된 보호 콘텐츠를 전달하므로 ②의 연결이 틀리다.
27. 개발·시험 담당자가 다음 사례를 검토한다. Windows와 Linux에 같은 프로그램 패키지를 배포하려 한다. 패키징 설계 원칙으로 부적절한 것은?
- 플랫폼별 암호화 API와 키 저장 방식의 차이를 검토한다.
- 배포 파일의 무결성과 출처를 확인할 서명·해시 검증을 제공한다.
- 한 운영체제의 절대 경로와 권한 모델만 가정하고 다른 환경의 설치 차이는 고려하지 않는다.
- 사용자가 선택해야 할 옵션과 오류 메시지를 단순하고 일관되게 구성한다.
정답과 해설 보기
정답: 3
정답은 3번이다. 다중 운영체제 패키지는 경로, 권한, 런타임과 암호화 API 차이를 반영해야 한다. 한 환경만 가정하고 이기종 차이를 무시하면 설치·실행 실패가 발생하므로 ②가 부적절하다.
선지별 해설
- 1번 ‘플랫폼별 암호화 API와 키 저장 방식의 차이를 검토한다.’는 선택 조건과 다르다. 오답 이유 키 저장소와 보안 API 차이를 검토해야 같은 보안 목표를 플랫폼별로 안전하게 구현할 수 있다.
- 2번 ‘배포 파일의 무결성과 출처를 확인할 서명·해시 검증을 제공한다.’는 선택 조건과 다르다. 오답 이유 서명과 해시 검증은 전송·배포 중 변조 여부와 신뢰할 수 있는 배포자 여부를 확인하게 한다.
- 3번은 정답 선지다. 정답 근거 절대 경로·권한·파일 시스템 규칙은 운영체제마다 달라 하나만 가정하면 다른 플랫폼에서 실패한다.
- 4번 ‘사용자가 선택해야 할 옵션과 오류 메시지를 단순하고 일관되게 구성한다.’는 선택 조건과 다르다. 오답 이유 명확한 옵션과 오류 정보는 사용자의 설치 실수와 지원 비용을 줄인다.
정답 판정: 정답 판정: 정답은 3번이다. 다중 운영체제 패키지는 경로, 권한, 런타임과 암호화 API 차이를 반영해야 한다. 한 환경만 가정하고 이기종 차이를 무시하면 설치·실행 실패가 발생하므로 ②가 부적절하다. 검증 기준: 한 운영체제의 절대 경로와 권한 모델만 가정하고 다른 환경의 설치 차이는 고려하지 않는다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 27 판정 근거: 정답은 3번이다. 다중 운영체제 패키지는 경로, 권한, 런타임과 암호화 API 차이를 반영해야 한다. 한 환경만 가정하고 이기종 차이를 무시하면 설치·실행 실패가 발생하므로 ②가 부적절하다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: SWEBOK V4 — relevant knowledge area definition and practice
판정 연결: 문항 27 판정 근거: 정답은 3번이다. 다중 운영체제 패키지는 경로, 권한, 런타임과 암호화 API 차이를 반영해야 한다. 한 환경만 가정하고 이기종 차이를 무시하면 설치·실행 실패가 발생하므로 ②가 부적절하다.
28. 개발·시험 담당자가 다음 사례를 검토한다. 자료구조의 분류와 동작에 대한 기술로 적절하지 않은 설명을 고르면?
- 큐는 한 노드가 여러 하위 노드로 갈라지는 비선형 구조다.
- 큐는 먼저 삽입된 항목을 먼저 제거하는 FIFO 방식이다.
- 스택은 마지막에 삽입된 항목을 먼저 제거하는 LIFO 방식이다.
- 스택은 함수 호출의 복귀 주소와 지역 상태 관리에 활용된다.
정답과 해설 보기
정답: 1
정답은 1번이다. 큐는 원소가 순서대로 놓이는 선형 자료구조다. 트리처럼 계층적으로 갈라지는 비선형 구조라는 ①이 틀리다.
선지별 해설
- 1번은 정답 선지다. 정답 근거 큐는 선형 순서로 연결되며 계층 구조가 아니다.
- 2번 ‘큐는 먼저 삽입된 항목을 먼저 제거하는 FIFO 방식이다.’는 선택 조건과 다르다. 오답 이유 FIFO는 큐의 기본 삭제 순서를 정확히 설명한다.
- 3번 ‘스택은 마지막에 삽입된 항목을 먼저 제거하는 LIFO 방식이다.’는 선택 조건과 다르다. 오답 이유 LIFO는 스택의 기본 삭제 순서를 정확히 설명한다.
- 4번 ‘스택은 함수 호출의 복귀 주소와 지역 상태 관리에 활용된다.’는 선택 조건과 다르다. 오답 이유 호출 스택은 함수 실행 상태와 복귀 정보를 저장한다.
정답 판정: 정답 판정: 정답은 1번이다. 큐는 원소가 순서대로 놓이는 선형 자료구조다. 트리처럼 계층적으로 갈라지는 비선형 구조라는 ①이 틀리다. 검증 기준: 큐는 한 노드가 여러 하위 노드로 갈라지는 비선형 구조다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 28 판정 근거: 정답은 1번이다. 큐는 원소가 순서대로 놓이는 선형 자료구조다. 트리처럼 계층적으로 갈라지는 비선형 구조라는 ①이 틀리다.
- NIST DADS — queue
확인 위치: NIST DADS — FIFO queue definition and use
판정 연결: 문항 28 판정 근거: 정답은 1번이다. 큐는 원소가 순서대로 놓이는 선형 자료구조다. 트리처럼 계층적으로 갈라지는 비선형 구조라는 ①이 틀리다.
29. 개발·시험 담당자가 다음 사례를 검토한다. 순서가 A, B, C, D로 정해진 입력 자료를 스택에 입력한 후 출력한 결과로 불가능한 것은?
- B, C, D, A
- C, B, A, D
- D, B, C, A
- D, C, B, A
정답과 해설 보기
정답: 3
정답은 3번이다. 스택의 후입선출 제약상 D를 먼저 꺼낸 뒤 C보다 B를 먼저 꺼내는 순서인 ④는 만들 수 없습니다
선지별 해설
- 1번 ‘B, C, D, A’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번 ‘C, B, A, D’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 4번 ‘D, C, B, A’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 3번이다. 스택의 후입선출 제약상 D를 먼저 꺼낸 뒤 C보다 B를 먼저 꺼내는 순서인 ④는 만들 수 없습니다 검증 기준: D, B, C, A의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 29 판정 근거: 정답은 3번이다. 스택의 후입선출 제약상 D를 먼저 꺼낸 뒤 C보다 B를 먼저 꺼내는 순서인 ④는 만들 수 없습니다
독립 계산·실행 추적: 스택 push/pop 제약을 추적하면 D,B,C,A 순서는 만들 수 없다.
- NIST DADS — stack
확인 위치: NIST DADS — LIFO stack definition
판정 연결: 문항 29 판정 근거: 정답은 3번이다. 스택의 후입선출 제약상 D를 먼저 꺼낸 뒤 C보다 B를 먼저 꺼내는 순서인 ④는 만들 수 없습니다
30. 개발·시험 담당자가 다음 사례를 검토한다. 주문 금액 계산 모듈 하나만 격리해 단위 테스트한다. 이 단계만으로 발견하기 가장 어려운 결함은?
- 결제 모듈과 주문 모듈이 서로 다른 통화 코드 형식을 주고받는 통합 결함
- 음수 입력의 예외 처리가 누락된 결함
- 할인율 계산식에서 곱셈과 덧셈 순서를 잘못 적용한 결함
- 특정 입력에서 반복문 종료 조건이 갱신되지 않는 결함
정답과 해설 보기
정답: 1
정답은 1번이다. 단위 테스트는 개별 모듈 내부의 계산, 분기, 반복, 예외를 검증하는 데 효과적이다. 두 모듈이 실제로 연결될 때 드러나는 통화 코드 계약 불일치는 인터페이스·통합 테스트에서 확인해야 하므로 ③이 가장 어렵다.
선지별 해설
- 1번은 정답 선지다. 정답 근거 서로 다른 모듈의 데이터 형식 계약 불일치는 실제 연결을 검증하는 통합 테스트가 필요하다.
- 2번 ‘음수 입력의 예외 처리가 누락된 결함’는 선택 조건과 다르다. 오답 이유 예외 입력을 제공하면 단위 수준에서도 검증·오류 처리 누락을 확인할 수 있다.
- 3번 ‘할인율 계산식에서 곱셈과 덧셈 순서를 잘못 적용한 결함’는 선택 조건과 다르다. 오답 이유 계산식 오류는 모듈 입력과 예상 출력을 비교하는 단위 테스트로 직접 검출할 수 있다.
- 4번 ‘특정 입력에서 반복문 종료 조건이 갱신되지 않는 결함’는 선택 조건과 다르다. 오답 이유 종료 조건 결함은 해당 반복 경로를 실행하는 단위 테스트에서 시간 초과나 잘못된 상태로 드러난다.
정답 판정: 정답 판정: 정답은 1번이다. 단위 테스트는 개별 모듈 내부의 계산, 분기, 반복, 예외를 검증하는 데 효과적이다. 두 모듈이 실제로 연결될 때 드러나는 통화 코드 계약 불일치는 인터페이스·통합 테스트에서 확인해야 하므로 ③이 가장 어렵다. 검증 기준: 결제 모듈과 주문 모듈이 서로 다른 통화 코드 형식을 주고받는 통합 결함의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 30 판정 근거: 정답은 1번이다. 단위 테스트는 개별 모듈 내부의 계산, 분기, 반복, 예외를 검증하는 데 효과적이다. 두 모듈이 실제로 연결될 때 드러나는 통화 코드 계약 불일치는 인터페이스·통합 테스트에서 확인해야 하므로 ③이 가장 어렵다.
- ISTQB CTFL Syllabus — alpha and beta testing
확인 위치: ISTQB syllabus — test levels, techniques and testware
판정 연결: 문항 30 판정 근거: 정답은 1번이다. 단위 테스트는 개별 모듈 내부의 계산, 분기, 반복, 예외를 검증하는 데 효과적이다. 두 모듈이 실제로 연결될 때 드러나는 통화 코드 계약 불일치는 인터페이스·통합 테스트에서 확인해야 하므로 ③이 가장 어렵다.
31. 개발·시험 담당자가 다음 사례를 검토한다. 정렬 배열 [8, 11, 14, 17, 20, 23, 26]을 이진 탐색하여 23을 찾는다. 중앙 원소 비교 횟수는?
- 2회
- 1회
- 3회
- 4회
정답과 해설 보기
정답: 1
정답은 1번이다. 오름차순 7개 원소의 중앙값 17과 먼저 비교한 뒤 오른쪽 절반의 중앙값 23과 비교한다.
선지별 해설
- 1번은 정답 선지다. 정답 근거 첫 비교는 네 번째 값 17, 두 번째 비교는 오른쪽 구간 중앙값 23이므로 2회다.
- 2번 ‘1회’는 선택 조건과 다르다. 오답 이유 첫 중앙값 17은 목표가 아니므로 한 번에 끝나지 않는다.
- 3번 ‘3회’는 선택 조건과 다르다. 오답 이유 두 번째 비교에서 이미 목표를 찾으므로 세 번째 비교는 수행하지 않는다.
- 4번 ‘4회’는 선택 조건과 다르다. 오답 이유 배열 크기 7에서 이 목표를 찾는 경로는 두 비교뿐이다.
정답 판정: 정답 판정: 정답은 1번이다. 오름차순 7개 원소의 중앙값 17과 먼저 비교한 뒤 오른쪽 절반의 중앙값 23과 비교한다. 검증 기준: 2회의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 31 판정 근거: 정답은 1번이다. 오름차순 7개 원소의 중앙값 17과 먼저 비교한 뒤 오른쪽 절반의 중앙값 23과 비교한다.
독립 계산·실행 추적: 17을 비교한 뒤 오른쪽 구간의 23을 비교하므로 2회다.
- NIST DADS — binary search
확인 위치: NIST DADS — binary search comparisons and halving rule
판정 연결: 문항 31 판정 근거: 정답은 1번이다. 오름차순 7개 원소의 중앙값 17과 먼저 비교한 뒤 오른쪽 절반의 중앙값 23과 비교한다.
32. 개발·시험 담당자가 다음 사례를 검토한다. 테스트 입력을 자동 생성하는 기법으로 보기 어려운 것은?
- 통합 시험에서 미완성 모듈을 대신하는 스텁과 드라이버 구성
- 입력 도메인의 동치 구간과 경계 분석
- 제약 범위 안에서 무작위 값 생성
- 자료 흐름을 분석해 정의-사용 경로 값 생성
정답과 해설 보기
정답: 1
정답은 1번이다. 스텁과 드라이버는 통합 시험의 호출 구조를 대신하는 모듈이며 테스트 데이터 생성 기법이 아니다. 따라서 ①이 답이다.
선지별 해설
- 1번은 정답 선지다. 정답 근거 스텁과 드라이버는 호출 관계가 미완성인 모듈을 대신하는 시험 보조 코드이지 입력값 생성 규칙이 아니다.
- 2번 ‘입력 도메인의 동치 구간과 경계 분석’는 선택 조건과 다르다. 오답 이유 동치 분할과 경계값 분석은 입력 영역에서 대표 시험 데이터를 고르는 기법이다.
- 3번 ‘제약 범위 안에서 무작위 값 생성’는 선택 조건과 다르다. 오답 이유 무작위 생성은 유효 범위와 제약을 만족하는 다양한 입력값을 자동으로 만든다.
- 4번 ‘자료 흐름을 분석해 정의-사용 경로 값 생성’는 선택 조건과 다르다. 오답 이유 정의-사용 경로 분석은 자료 흐름을 실행할 입력 조건을 선정하는 데 사용할 수 있다.
정답 판정: 정답 판정: 정답은 1번이다. 스텁과 드라이버는 통합 시험의 호출 구조를 대신하는 모듈이며 테스트 데이터 생성 기법이 아니다. 따라서 ①이 답이다. 검증 기준: 통합 시험에서 미완성 모듈을 대신하는 스텁과 드라이버 구성의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 32 판정 근거: 정답은 1번이다. 스텁과 드라이버는 통합 시험의 호출 구조를 대신하는 모듈이며 테스트 데이터 생성 기법이 아니다. 따라서 ①이 답이다.
- NIST ACTS — combinatorial methods
확인 위치: NIST security terms — intrusion detection and session security
판정 연결: 문항 32 판정 근거: 정답은 1번이다. 스텁과 드라이버는 통합 시험의 호출 구조를 대신하는 모듈이며 테스트 데이터 생성 기법이 아니다. 따라서 ①이 답이다.
33. 개발·시험 담당자가 다음 사례를 검토한다. 빈 스택에 A3, B33, C10을 차례로 push한 뒤 두 번 pop한다. 출력 순서는?
- B33, C10
- C10, B33
- C10, A3
- A3, B33
정답과 해설 보기
정답: 2
정답은 2번이다. LIFO 규칙에 따라 가장 늦게 삽입한 C10이 먼저, 다음 top인 B33이 이어서 나온다.
선지별 해설
- 1번 ‘B33, C10’는 선택 조건과 다르다. 오답 이유 B33보다 C10이 나중에 push되어 먼저 나온다.
- 2번은 정답 선지다. 정답 근거 스택은 마지막에 넣은 C10과 그 아래 B33 순으로 제거된다.
- 3번 ‘C10, A3’는 선택 조건과 다르다. 오답 이유 첫 pop 뒤 스택의 top은 B33이므로 A3이 두 번째로 나오지 않는다.
- 4번 ‘A3, B33’는 선택 조건과 다르다. 오답 이유 A3은 가장 먼저 들어가 두 번의 pop 뒤에도 남는다.
정답 판정: 정답 판정: 정답은 2번이다. LIFO 규칙에 따라 가장 늦게 삽입한 C10이 먼저, 다음 top인 B33이 이어서 나온다. 검증 기준: C10, B33의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 33 판정 근거: 정답은 2번이다. LIFO 규칙에 따라 가장 늦게 삽입한 C10이 먼저, 다음 top인 B33이 이어서 나온다.
독립 계산·실행 추적: A3,B33,C10을 넣고 두 번 꺼내면 C10,B33이다.
- NIST DADS — stack
확인 위치: NIST DADS — LIFO stack definition
판정 연결: 문항 33 판정 근거: 정답은 2번이다. LIFO 규칙에 따라 가장 늦게 삽입한 C10이 먼저, 다음 top인 B33이 이어서 나온다.
34. 개발·시험 담당자가 다음 사례를 검토한다. [16, 12, 14, 18]에 삽입 정렬 첫 번째 회전을 적용한 결과는?
- [12, 14, 16, 18]
- [16, 12, 18, 14]
- [16, 14, 12, 18]
- [12, 16, 14, 18]
정답과 해설 보기
정답: 4
정답은 4번이다. 삽입 정렬의 첫 회전은 두 번째 원소 12만 앞의 정렬 구간에 삽입한다.
선지별 해설
- 1번 ‘[12, 14, 16, 18]’는 선택 조건과 다르다. 오답 이유 첫 회전에서는 14를 이동하지 않는다.
- 2번 ‘[16, 12, 18, 14]’는 선택 조건과 다르다. 오답 이유 마지막 두 원소는 아직 정렬 대상에 포함되지 않는다.
- 3번 ‘[16, 14, 12, 18]’는 선택 조건과 다르다. 오답 이유 세 번째 원소까지 처리한 배열이라 첫 회전 결과가 아니다.
- 4번은 정답 선지다. 정답 근거 두 번째 원소 12를 정렬 구간 [16]에 삽입해 앞의 두 값만 [12, 16]로 바뀐다.
정답 판정: 정답 판정: 정답은 4번이다. 삽입 정렬의 첫 회전은 두 번째 원소 12만 앞의 정렬 구간에 삽입한다. 검증 기준: [12, 16, 14, 18]의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 34 판정 근거: 정답은 4번이다. 삽입 정렬의 첫 회전은 두 번째 원소 12만 앞의 정렬 구간에 삽입한다.
독립 계산·실행 추적: 16과 12를 비교해 교환하므로 첫 회전 결과는 [12,16,14,18]이다.
- NIST DADS — insertion sort
확인 위치: NIST DADS insertion sort — successive insertion into the sorted prefix
판정 연결: 문항 34 판정 근거: 정답은 4번이다. 삽입 정렬의 첫 회전은 두 번째 원소 12만 앞의 정렬 구간에 삽입한다.
35. 개발·시험 담당자가 다음 사례를 검토한다. 분할 정복(Divide and Conquer)에 기반하고 피벗(Pivot)을 사용하며, 최악의 경우 n(n-1)/2회의 비교를 수행하는 정렬은?
- Quick Sort
- Selection Sort
- Bubble Sort
- Insertion Sort
정답과 해설 보기
정답: 1
정답은 1번이다. 퀵 정렬은 피벗을 기준으로 원소를 두 부분으로 나누고 각 부분을 재귀적으로 정렬합니다. 피벗이 계속 최솟값이나 최댓값으로 선택되면 분할이 한쪽으로 치우쳐 비교 횟수가 n(n-1)/2까지 늘어나므로 정답은 ④ Quick Sort입니다.
선지별 해설
- 1번은 정답 선지다. 정답 근거 퀵 정렬은 피벗으로 분할하며 치우친 분할이 반복되면 최악의 비교 횟수가 n(n-1)/2가 됩니다.
- 2번 ‘Selection Sort’는 선택 조건과 다르다. 오답 이유 선택 정렬도 O(n²)이지만 피벗을 사용하는 분할 정복 정렬은 아닙니다.
- 3번 ‘Bubble Sort’는 선택 조건과 다르다. 오답 이유 버블 정렬은 인접 원소를 반복 비교·교환하며 피벗을 사용하지 않습니다.
- 4번 ‘Insertion Sort’는 선택 조건과 다르다. 오답 이유 삽입 정렬은 정렬된 구간의 알맞은 위치에 원소를 삽입합니다.
정답 판정: 정답 판정: 정답은 1번이다. 퀵 정렬은 피벗을 기준으로 원소를 두 부분으로 나누고 각 부분을 재귀적으로 정렬합니다. 피벗이 계속 최솟값이나 최댓값으로 선택되면 분할이 한쪽으로 치우쳐 비교 횟수가 n(n-1)/2까지 늘어나므로 정답은 ④ Quick Sort입니다. 검증 기준: Quick Sort의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 35 판정 근거: 정답은 1번이다. 퀵 정렬은 피벗을 기준으로 원소를 두 부분으로 나누고 각 부분을 재귀적으로 정렬합니다. 피벗이 계속 최솟값이나 최댓값으로 선택되면 분할이 한쪽으로 치우쳐 비교 횟수가 n(n-1)/2까지 늘어나므로 정답은 ④ Quick Sort입니다.
- NIST DADS — divide and conquer
확인 위치: NIST DADS — divide and conquer partitions a problem into smaller subproblems
판정 연결: 문항 35 판정 근거: 정답은 1번이다. 퀵 정렬은 피벗을 기준으로 원소를 두 부분으로 나누고 각 부분을 재귀적으로 정렬합니다. 피벗이 계속 최솟값이나 최댓값으로 선택되면 분할이 한쪽으로 치우쳐 비교 횟수가 n(n-1)/2까지 늘어나므로 정답은 ④ Quick Sort입니다.
36. 개발·시험 담당자가 다음 사례를 검토한다. 클린 코드의 추상화 원칙을 설명한 것으로 적절하지 않은 설명을 고르면?
- 세부 구현은 상위 수준에 두고 하위 함수 이름에는 모든 구현 단계를 노출해야 한다.
- 한 함수가 불필요하게 다른 모듈 내부에 의존하지 않게 한다.
- 이름과 제어 흐름을 읽기 쉽게 작성한다.
- 반복되는 로직은 의미 있는 공통 단위로 추출한다.
정답과 해설 보기
정답: 1
정답은 1번이다. 추상화는 상위 수준에서 핵심 의도를 드러내고 세부 구현은 하위 계층에 감춘다. 세부를 상위에 두고 함수 이름에 모두 노출한다는 ①은 방향이 반대다.
선지별 해설
- 1번은 정답 선지다. 정답 근거 추상화 계층은 의도를 위에, 구체 구현을 아래에 두어야 한다.
- 2번 ‘한 함수가 불필요하게 다른 모듈 내부에 의존하지 않게 한다.’는 선택 조건과 다르다. 오답 이유 불필요한 의존성 감소는 변경 파급을 줄인다.
- 3번 ‘이름과 제어 흐름을 읽기 쉽게 작성한다.’는 선택 조건과 다르다. 오답 이유 가독성 높은 이름과 흐름은 유지보수성을 높인다.
- 4번 ‘반복되는 로직은 의미 있는 공통 단위로 추출한다.’는 선택 조건과 다르다. 오답 이유 중복 제거는 서로 다른 위치의 수정 불일치를 막는다.
정답 판정: 정답 판정: 정답은 1번이다. 추상화는 상위 수준에서 핵심 의도를 드러내고 세부 구현은 하위 계층에 감춘다. 세부를 상위에 두고 함수 이름에 모두 노출한다는 ①은 방향이 반대다. 검증 기준: 세부 구현은 상위 수준에 두고 하위 함수 이름에는 모든 구현 단계를 노출해야 한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 36 판정 근거: 정답은 1번이다. 추상화는 상위 수준에서 핵심 의도를 드러내고 세부 구현은 하위 계층에 감춘다. 세부를 상위에 두고 함수 이름에 모두 노출한다는 ①은 방향이 반대다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: SWEBOK V4 — relevant knowledge area definition and practice
판정 연결: 문항 36 판정 근거: 정답은 1번이다. 추상화는 상위 수준에서 핵심 의도를 드러내고 세부 구현은 하위 계층에 감춘다. 세부를 상위에 두고 함수 이름에 모두 노출한다는 ①은 방향이 반대다.
37. 개발·시험 담당자가 다음 사례를 검토한다. 순서가 있는 리스트에서 데이터의 삽입(push), 삭제(pop)가 한 쪽 끝에서 일어나며 LIFO(Last-In-First-Out)의 특징을 가지는 자료 구조는?
- Graph
- Stack
- Queue
- Tree
정답과 해설 보기
정답: 2
정답은 2번이다. 스택은 한쪽 끝인 top에서만 push와 pop이 일어나는 LIFO 자료구조입니다. 가장 나중에 들어온 값이 가장 먼저 나오므로 함수 호출, 괄호 검사, 후위식 계산에 활용됩니다.
선지별 해설
- 1번 ‘Graph’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 3번 ‘Queue’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번 ‘Tree’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 2번이다. 스택은 한쪽 끝인 top에서만 push와 pop이 일어나는 LIFO 자료구조입니다. 가장 나중에 들어온 값이 가장 먼저 나오므로 함수 호출, 괄호 검사, 후위식 계산에 활용됩니다. 검증 기준: Stack의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 37 판정 근거: 정답은 2번이다. 스택은 한쪽 끝인 top에서만 push와 pop이 일어나는 LIFO 자료구조입니다. 가장 나중에 들어온 값이 가장 먼저 나오므로 함수 호출, 괄호 검사, 후위식 계산에 활용됩니다.
- NIST DADS — stack
확인 위치: NIST DADS — LIFO stack definition
판정 연결: 문항 37 판정 근거: 정답은 2번이다. 스택은 한쪽 끝인 top에서만 push와 pop이 일어나는 LIFO 자료구조입니다. 가장 나중에 들어온 값이 가장 먼저 나오므로 함수 호출, 괄호 검사, 후위식 계산에 활용됩니다.
38. 개발·시험 담당자가 다음 사례를 검토한다. 화이트박스 테스트와 관련한 기술로 적절하지 않은 설명을 고르면?
- 프로그램의 구조를 고려하지 않기 때문에 테스트 케이스는 프로그램 또는 모듈의 요구나 명세를 기초로 결정한다.
- 테스트 데이터를 선택하기 위하여 검증 기준(Test Coverage) 을 정한다.
- 화이트박스 테스트의 이해를 위해 논리 흐름도(Logic-Flow Diagram)를 이용할 수 있다.
- 테스트 데이터를 이용해 실제 프로그램을 실행함으로써 오류를 찾는 동적 테스트(DynamicTest)에 해당한다.
정답과 해설 보기
정답: 1
정답은 1번이다. 프로그램 내부 구조를 보지 않고 요구사항과 입·출력 명세를 기준으로 테스트 케이스를 만드는 방식은 블랙박스 테스트입니다. 화이트박스 테스트의 설명으로 제시되었다면 내부 제어 구조를 고려하지 않는다는 부분이 틀립니다.
선지별 해설
- 1번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 2번 ‘테스트 데이터를 선택하기 위하여 검증 기준(Test Coverage) 을 정한다.’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번 ‘화이트박스 테스트의 이해를 위해 논리 흐름도(Logic-Flow Diagram)를 이용할 수 있다.’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번 ‘테스트 데이터를 이용해 실제 프로그램을 실행함으로써 오류를 찾는 동적 테스트(DynamicTest)에 해당한다.’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 1번이다. 프로그램 내부 구조를 보지 않고 요구사항과 입·출력 명세를 기준으로 테스트 케이스를 만드는 방식은 블랙박스 테스트입니다. 화이트박스 테스트의 설명으로 제시되었다면 내부 제어 구조를 고려하지 않는다는 부분이 틀립니다. 검증 기준: 프로그램의 구조를 고려하지 않기 때문에 테스트 케이스는 프로그램 또는 모듈의 요구나 명세를 기초로 결정한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 38 판정 근거: 정답은 1번이다. 프로그램 내부 구조를 보지 않고 요구사항과 입·출력 명세를 기준으로 테스트 케이스를 만드는 방식은 블랙박스 테스트입니다. 화이트박스 테스트의 설명으로 제시되었다면 내부 제어 구조를 고려하지 않는다는 부분이 틀립니다.
- ISTQB CTFL Syllabus — alpha and beta testing
확인 위치: ISTQB syllabus — test levels, techniques and testware
판정 연결: 문항 38 판정 근거: 정답은 1번이다. 프로그램 내부 구조를 보지 않고 요구사항과 입·출력 명세를 기준으로 테스트 케이스를 만드는 방식은 블랙박스 테스트입니다. 화이트박스 테스트의 설명으로 제시되었다면 내부 제어 구조를 고려하지 않는다는 부분이 틀립니다.
39. 개발·시험 담당자가 다음 사례를 검토한다. 다음과 같이 레코드가 구성되어 있을 때, 이진 검색 방법으로 14를 찾을 경우 비교되는 횟수는? 레코드: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
- 5
- 2
- 3
- 4
정답과 해설 보기
정답: 3
정답은 3번이다. 이진 검색은 정렬된 구간의 중앙값과 찾을 값을 비교한 뒤 가능한 절반만 남긴다. 1부터 15까지의 중앙값 8을 먼저 비교하고, 14가 더 크므로 9~15의 중앙값 12, 다시 13~15의 중앙값 14를 차례로 비교해 찾는다. 최초 비교까지 포함하므로 총 비교 횟수는 3회이다.
선지별 해설
- 1번 ‘5’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번 ‘2’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 4번 ‘4’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 3번이다. 이진 검색은 정렬된 구간의 중앙값과 찾을 값을 비교한 뒤 가능한 절반만 남긴다. 1부터 15까지의 중앙값 8을 먼저 비교하고, 14가 더 크므로 9~15의 중앙값 12, 다시 13~15의 중앙값 14를 차례로 비교해 찾는다. 최초 비교까지 포함하므로 총 비교 횟수는 3회이다. 검증 기준: 3의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 39 판정 근거: 정답은 3번이다. 이진 검색은 정렬된 구간의 중앙값과 찾을 값을 비교한 뒤 가능한 절반만 남긴다. 1부터 15까지의 중앙값 8을 먼저 비교하고, 14가 더 크므로 9~15의 중앙값 12, 다시 13~15의 중앙값 14를 차례로 비교해 찾는다. 최초 비교까지 포함하므로 총 비교 횟수는 3회이다.
독립 계산·실행 추적: 8→12→14 순으로 비교해 3회다.
- NIST DADS — binary search
확인 위치: NIST DADS — binary search comparisons and halving rule
판정 연결: 문항 39 판정 근거: 정답은 3번이다. 이진 검색은 정렬된 구간의 중앙값과 찾을 값을 비교한 뒤 가능한 절반만 남긴다. 1부터 15까지의 중앙값 8을 먼저 비교하고, 14가 더 크므로 9~15의 중앙값 12, 다시 13~15의 중앙값 14를 차례로 비교해 찾는다. 최초 비교까지 포함하므로 총 비교 횟수는 3회이다.
40. 개발·시험 담당자가 다음 사례를 검토한다. DBMS의 필수 기능 중 모든 응용 프로그램들이 요구하는 데이터 구조를 지원하기 위해 데이터베이스에 저장될 데이터 타입과 구조에 대한 정의, 이용 방식, 제약 조건 등을 명시하는 기능은?
- 정의 기능
- 조작 기능
- 제어 기능
- 절차 기능
정답과 해설 보기
정답: 1
정답은 1번이다. 정의 기능은 데이터베이스에 저장할 데이터의 타입·구조·관계와 제약조건을 명세한다. 조작 기능은 조회·삽입·수정·삭제, 제어 기능은 무결성·보안·동시성 관리를 담당한다.
선지별 해설
- 1번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 2번 ‘조작 기능’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번 ‘제어 기능’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번 ‘절차 기능’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 1번이다. 정의 기능은 데이터베이스에 저장할 데이터의 타입·구조·관계와 제약조건을 명세한다. 조작 기능은 조회·삽입·수정·삭제, 제어 기능은 무결성·보안·동시성 관리를 담당한다. 검증 기준: 정의 기능의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 40 판정 근거: 정답은 1번이다. 정의 기능은 데이터베이스에 저장할 데이터의 타입·구조·관계와 제약조건을 명세한다. 조작 기능은 조회·삽입·수정·삭제, 제어 기능은 무결성·보안·동시성 관리를 담당한다.
- SWEBOK Computing Foundations — Databases
확인 위치: SWEBOK Computing Foundations — database design and keys
판정 연결: 문항 40 판정 근거: 정답은 1번이다. 정의 기능은 데이터베이스에 저장할 데이터의 타입·구조·관계와 제약조건을 명세한다. 조작 기능은 조회·삽입·수정·삭제, 제어 기능은 무결성·보안·동시성 관리를 담당한다.
정보처리기사 필기 기출문제 · 데이터베이스 구축
41. 데이터베이스 설계자가 다음 조건을 확인한다. 트랜잭션의 특성 중 다음 설명에 해당하는 항목을 고르면? 트랜잭션의 연산은 데이터베이스에 모두 반영되거나 전혀 반영되지 않아야 한다.
- Share
- Consistency
- Atomicity
- Durability
정답과 해설 보기
정답: 3
정답은 3번이다. 원자성(Atomicity)은 트랜잭션의 모든 연산이 전부 성공하거나 하나도 반영되지 않아야 한다는 성질입니다. 중간까지만 반영하지 않고 실패 시 원래 상태로 되돌린다는 조건에 해당합니다.
선지별 해설
- 1번 ‘Share’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번 ‘Consistency’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 4번 ‘Durability’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 3번이다. 원자성(Atomicity)은 트랜잭션의 모든 연산이 전부 성공하거나 하나도 반영되지 않아야 한다는 성질입니다. 중간까지만 반영하지 않고 실패 시 원래 상태로 되돌린다는 조건에 해당합니다. 검증 기준: Atomicity의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 41 판정 근거: 정답은 3번이다. 원자성(Atomicity)은 트랜잭션의 모든 연산이 전부 성공하거나 하나도 반영되지 않아야 한다는 성질입니다. 중간까지만 반영하지 않고 실패 시 원래 상태로 되돌린다는 조건에 해당합니다.
독립 계산·실행 추적: 모두 반영 또는 모두 취소는 Atomicity다.
- PostgreSQL — Transaction Isolation
확인 위치: PostgreSQL transaction processing — ACID and concurrency
판정 연결: 문항 41 판정 근거: 정답은 3번이다. 원자성(Atomicity)은 트랜잭션의 모든 연산이 전부 성공하거나 하나도 반영되지 않아야 한다는 성질입니다. 중간까지만 반영하지 않고 실패 시 원래 상태로 되돌린다는 조건에 해당합니다.
42. 데이터베이스 설계자가 다음 조건을 확인한다. E-R 모델의 표현 방법으로 틀린 설명을 고르면?
- 속성 : 오각형
- 연결 : 선
- 개체 타입 : 사각형
- 관계 타입 : 마름모
정답과 해설 보기
정답: 1
정답은 1번이다. E-R 다이어그램에서 개체는 사각형, 관계는 마름모, 속성은 타원으로 표현합니다. 속성을 오각형으로 표시한다는 연결은 표준 표기법과 맞지 않습니다.
선지별 해설
- 1번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 2번 ‘연결 : 선’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번 ‘개체 타입 : 사각형’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번 ‘관계 타입 : 마름모’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 1번이다. E-R 다이어그램에서 개체는 사각형, 관계는 마름모, 속성은 타원으로 표현합니다. 속성을 오각형으로 표시한다는 연결은 표준 표기법과 맞지 않습니다. 검증 기준: 속성 : 오각형의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 42 판정 근거: 정답은 1번이다. E-R 다이어그램에서 개체는 사각형, 관계는 마름모, 속성은 타원으로 표현합니다. 속성을 오각형으로 표시한다는 연결은 표준 표기법과 맞지 않습니다.
- Peter P. Chen — The Entity-Relationship Model (paper mirror)
확인 위치: Chen ER model — entity, relationship and attribute notation
판정 연결: 문항 42 판정 근거: 정답은 1번이다. E-R 다이어그램에서 개체는 사각형, 관계는 마름모, 속성은 타원으로 표현합니다. 속성을 오각형으로 표시한다는 연결은 표준 표기법과 맞지 않습니다.
43. 데이터베이스 설계자가 다음 조건을 확인한다. 두 트랜잭션이 주문 행의 같은 버전 값 7을 읽은 뒤 각각 수정했다. 먼저 한 트랜잭션이 버전 8로 갱신한 상황에서, 나중 트랜잭션의 오래된 값 덮어쓰기를 직접 탐지하고 막는 방법으로 가장 적절한 것은?
- 현재 버전을 다시 확인하지 않고 나중 요청의 값으로 항상 덮어쓴다.
- 잠금 대기 제한시간만 늘린다.
- 트랜잭션 격리 수준을 READ UNCOMMITTED로 낮춘다.
- UPDATE의 조건에 version = 7을 포함하고 영향받은 행 수가 0이면 충돌로 처리한다.
정답과 해설 보기
정답: 4
정답은 4번이다. 버전 조건을 포함한 갱신은 먼저 처리된 트랜잭션이 버전을 8로 바꾸면 두 번째 UPDATE의 version = 7 조건을 만족하지 않게 한다. 영향받은 행 수 0을 충돌로 판단하면 오래된 값이 최신 값을 덮는 갱신 분실을 방지할 수 있다.
선지별 해설
- 1번 ‘현재 버전을 다시 확인하지 않고 나중 요청의 값으로 항상 덮어쓴다.’는 선택 조건과 다르다. 오답 이유 마지막 쓰기를 무조건 허용하면 먼저 반영된 변경이 사라지는 갱신 분실을 그대로 발생시킨다.
- 2번 ‘잠금 대기 제한시간만 늘린다.’는 선택 조건과 다르다. 오답 이유 대기 제한시간은 잠금 대기의 종료 시점을 조절할 뿐 오래된 버전으로 덮어쓰는지를 검증하지 않는다.
- 3번 ‘트랜잭션 격리 수준을 READ UNCOMMITTED로 낮춘다.’는 선택 조건과 다르다. 오답 이유 READ UNCOMMITTED는 커밋되지 않은 값까지 읽을 수 있게 하므로 갱신 충돌을 막지 못하고 일관성을 더 약화한다.
- 4번은 정답 선지다. 정답 근거 낙관적 잠금의 버전 비교 방식이다. 먼저 갱신된 행은 더 이상 version = 7이 아니므로 두 번째 쓰기가 실패하고 충돌을 탐지할 수 있다.
정답 판정: 정답 판정: 정답은 4번이다. 버전 조건을 포함한 갱신은 먼저 처리된 트랜잭션이 버전을 8로 바꾸면 두 번째 UPDATE의 version = 7 조건을 만족하지 않게 한다. 영향받은 행 수 0을 충돌로 판단하면 오래된 값이 최신 값을 덮는 갱신 분실을 방지할 수 있다. 검증 기준: UPDATE의 조건에 version = 7을 포함하고 영향받은 행 수가 0이면 충돌로 처리한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 43 판정 근거: 정답은 4번이다. 버전 조건을 포함한 갱신은 먼저 처리된 트랜잭션이 버전을 8로 바꾸면 두 번째 UPDATE의 version = 7 조건을 만족하지 않게 한다. 영향받은 행 수 0을 충돌로 판단하면 오래된 값이 최신 값을 덮는 갱신 분실을 방지할 수 있다.
독립 계산·실행 추적: version=7 조건의 UPDATE가 0행이면 낙관적 잠금 충돌이다.
- PostgreSQL — UPDATE
확인 위치: PostgreSQL UPDATE — conditional row update and affected-row result
판정 연결: 문항 43 판정 근거: 정답은 4번이다. 버전 조건을 포함한 갱신은 먼저 처리된 트랜잭션이 버전을 8로 바꾸면 두 번째 UPDATE의 version = 7 조건을 만족하지 않게 한다. 영향받은 행 수 0을 충돌로 판단하면 오래된 값이 최신 값을 덮는 갱신 분실을 방지할 수 있다. - PostgreSQL — Transaction Isolation
확인 위치: PostgreSQL transaction processing — ACID and concurrency
판정 연결: 문항 43 판정 근거: 정답은 4번이다. 버전 조건을 포함한 갱신은 먼저 처리된 트랜잭션이 버전을 8로 바꾸면 두 번째 UPDATE의 version = 7 조건을 만족하지 않게 한다. 영향받은 행 수 0을 충돌로 판단하면 오래된 값이 최신 값을 덮는 갱신 분실을 방지할 수 있다.
44. 데이터베이스 설계자가 다음 조건을 확인한다. 관계형 데이터베이스의 릴레이션 특성으로 틀린 설명을 고르면?
- 삽입과 삭제에 따라 현재 튜플 집합은 시간에 따라 달라질 수 있다.
- 한 릴레이션에는 논리적으로 완전히 동일한 튜플이 중복되지 않는다.
- 제1정규형에서는 각 속성 위치에 원자값을 저장한다.
- 튜플은 저장된 물리 주소 순서대로 조회되어야 하며 그 순서가 릴레이션 의미의 일부다.
정답과 해설 보기
정답: 4
정답은 4번이다. 릴레이션은 튜플의 집합으로 정의되며 튜플의 논리적 순서는 없다. 물리 저장 위치도 결과 순서를 보장하지 않으므로 정렬이 필요하면 명시해야 한다. 따라서 ④가 잘못된 설명이다.
선지별 해설
- 1번 ‘삽입과 삭제에 따라 현재 튜플 집합은 시간에 따라 달라질 수 있다.’는 선택 조건과 다르다. 오답 이유 데이터 변경 연산으로 릴레이션의 현재 상태인 튜플 집합은 변할 수 있다.
- 2번 ‘한 릴레이션에는 논리적으로 완전히 동일한 튜플이 중복되지 않는다.’는 선택 조건과 다르다. 오답 이유 관계의 집합 의미에서는 동일 튜플을 중복 원소로 두지 않는다.
- 3번 ‘제1정규형에서는 각 속성 위치에 원자값을 저장한다.’는 선택 조건과 다르다. 오답 이유 제1정규형은 반복 집합 없이 각 속성에 원자적인 도메인 값을 요구한다.
- 4번은 정답 선지다. 정답 근거 물리 주소와 조회 순서는 관계의 논리적 의미가 아니며 명시적 정렬 없이는 보장되지 않는다.
정답 판정: 정답 판정: 정답은 4번이다. 릴레이션은 튜플의 집합으로 정의되며 튜플의 논리적 순서는 없다. 물리 저장 위치도 결과 순서를 보장하지 않으므로 정렬이 필요하면 명시해야 한다. 따라서 ④가 잘못된 설명이다. 검증 기준: 튜플은 저장된 물리 주소 순서대로 조회되어야 하며 그 순서가 릴레이션 의미의 일부다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 44 판정 근거: 정답은 4번이다. 릴레이션은 튜플의 집합으로 정의되며 튜플의 논리적 순서는 없다. 물리 저장 위치도 결과 순서를 보장하지 않으므로 정렬이 필요하면 명시해야 한다. 따라서 ④가 잘못된 설명이다.
- E. F. Codd — A Relational Model of Data (paper mirror)
확인 위치: Relational model — relations, keys, dependencies and algebra
판정 연결: 문항 44 판정 근거: 정답은 4번이다. 릴레이션은 튜플의 집합으로 정의되며 튜플의 논리적 순서는 없다. 물리 저장 위치도 결과 순서를 보장하지 않으므로 정렬이 필요하면 명시해야 한다. 따라서 ④가 잘못된 설명이다.
45. 데이터베이스 설계자가 다음 조건을 확인한다. 다음 함수 종속으로부터 X → Z를 도출할 때 적용한 추론 규칙은? X → Y Y → Z ────── X → Z
- 이행 규칙
- 반사 규칙
- 결합 규칙
- 분해 규칙
정답과 해설 보기
정답: 1
정답은 1번이다. 함수 종속에서 X→Y이고 Y→Z이면 X→Z를 추론할 수 있는데 이를 이행 규칙이라고 합니다. 암스트롱 공리의 반사·증가·이행 규칙 중 하나입니다.
선지별 해설
- 1번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 2번 ‘반사 규칙’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번 ‘결합 규칙’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번 ‘분해 규칙’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 1번이다. 함수 종속에서 X→Y이고 Y→Z이면 X→Z를 추론할 수 있는데 이를 이행 규칙이라고 합니다. 암스트롱 공리의 반사·증가·이행 규칙 중 하나입니다. 검증 기준: 이행 규칙의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 45 판정 근거: 정답은 1번이다. 함수 종속에서 X→Y이고 Y→Z이면 X→Z를 추론할 수 있는데 이를 이행 규칙이라고 합니다. 암스트롱 공리의 반사·증가·이행 규칙 중 하나입니다.
독립 계산·실행 추적: X→Y와 Y→Z에서 X→Z를 얻는 규칙은 이행 규칙이다.
- E. F. Codd — A Relational Model of Data (paper mirror)
확인 위치: Relational model — relations, keys, dependencies and algebra
판정 연결: 문항 45 판정 근거: 정답은 1번이다. 함수 종속에서 X→Y이고 Y→Z이면 X→Z를 추론할 수 있는데 이를 이행 규칙이라고 합니다. 암스트롱 공리의 반사·증가·이행 규칙 중 하나입니다.
46. 데이터베이스 설계자가 다음 조건을 확인한다. 데이터베이스 물리 설계 단계의 작업으로 보기 어려운 것은?
- 인덱스와 파티션 등 접근 경로를 정한다.
- 업무 개념만으로 DBMS와 무관한 논리 스키마를 처음 정의한다.
- 페이지와 레코드의 저장 형식을 결정한다.
- 함께 조회되는 레코드의 군집 배치를 검토한다.
정답과 해설 보기
정답: 2
정답은 2번이다. 저장 형식·클러스터링·접근 경로는 물리 설계 작업이다. 특정 DBMS의 저장 구조와 무관한 논리 스키마 정의는 논리 설계에 해당하므로 ④가 답이다.
선지별 해설
- 1번 ‘인덱스와 파티션 등 접근 경로를 정한다.’는 선택 조건과 다르다. 오답 이유 인덱스와 파티션은 실제 조회 경로와 저장 구조를 결정한다.
- 2번은 정답 선지다. 정답 근거 DBMS 독립적인 관계·키 정의는 논리 설계의 결과다.
- 3번 ‘페이지와 레코드의 저장 형식을 결정한다.’는 선택 조건과 다르다. 오답 이유 저장 레코드와 페이지 배치는 물리적 공간 사용을 결정한다.
- 4번 ‘함께 조회되는 레코드의 군집 배치를 검토한다.’는 선택 조건과 다르다. 오답 이유 클러스터링은 함께 접근하는 데이터를 가까이 배치하는 물리 설계다.
정답 판정: 정답 판정: 정답은 2번이다. 저장 형식·클러스터링·접근 경로는 물리 설계 작업이다. 특정 DBMS의 저장 구조와 무관한 논리 스키마 정의는 논리 설계에 해당하므로 ④가 답이다. 검증 기준: 업무 개념만으로 DBMS와 무관한 논리 스키마를 처음 정의한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 46 판정 근거: 정답은 2번이다. 저장 형식·클러스터링·접근 경로는 물리 설계 작업이다. 특정 DBMS의 저장 구조와 무관한 논리 스키마 정의는 논리 설계에 해당하므로 ④가 답이다.
- SWEBOK Computing Foundations — Databases
확인 위치: SWEBOK Computing Foundations — database design and keys
판정 연결: 문항 46 판정 근거: 정답은 2번이다. 저장 형식·클러스터링·접근 경로는 물리 설계 작업이다. 특정 DBMS의 저장 구조와 무관한 논리 스키마 정의는 논리 설계에 해당하므로 ④가 답이다.
47. 데이터베이스 설계자가 다음 조건을 확인한다. 표준 SQL 관점에서 뷰 정의 관리에 대한 기술로 가장 부적절한 것은?
- 기본 객체 제거 시 종속 뷰 처리는 CASCADE·RESTRICT 정책의 영향을 받는다.
- 기존 뷰를 바탕으로 다른 뷰를 만들 수 있다.
- 집계나 조인을 포함한 뷰는 갱신이 제한될 수 있다.
- 기본 테이블의 열 구조를 바꾸듯 모든 DBMS에서 ALTER VIEW … ADD COLUMN으로 질의 정의를 수정한다.
정답과 해설 보기
정답: 4
정답은 4번이다. 뷰는 저장된 질의 정의다. 질의를 바꿀 때는 제품이 지원하는 CREATE OR REPLACE VIEW 또는 삭제 후 재생성을 사용하며 기본 테이블처럼 열을 추가하는 방식이 일반 규칙은 아니므로 ③이 답이다.
선지별 해설
- 1번 ‘기본 객체 제거 시 종속 뷰 처리는 CASCADE·RESTRICT 정책의 영향을 받는다.’는 선택 조건과 다르다. 오답 이유 종속 객체 제거 정책에 따라 삭제 거부나 연쇄 삭제가 발생할 수 있다.
- 2번 ‘기존 뷰를 바탕으로 다른 뷰를 만들 수 있다.’는 선택 조건과 다르다. 오답 이유 뷰의 질의에서 다른 뷰를 참조할 수 있다.
- 3번 ‘집계나 조인을 포함한 뷰는 갱신이 제한될 수 있다.’는 선택 조건과 다르다. 오답 이유 기본 행과 일대일 대응하지 않는 뷰는 갱신 가능성이 제한된다.
- 4번은 정답 선지다. 정답 근거 뷰 정의 변경을 기본 테이블의 열 구조 변경과 동일하게 취급할 수 없다.
정답 판정: 정답 판정: 정답은 4번이다. 뷰는 저장된 질의 정의다. 질의를 바꿀 때는 제품이 지원하는 CREATE OR REPLACE VIEW 또는 삭제 후 재생성을 사용하며 기본 테이블처럼 열을 추가하는 방식이 일반 규칙은 아니므로 ③이 답이다. 검증 기준: 기본 테이블의 열 구조를 바꾸듯 모든 DBMS에서 `ALTER VIEW … ADD COLUMN`으로 질의 정의를 수정한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 47 판정 근거: 정답은 4번이다. 뷰는 저장된 질의 정의다. 질의를 바꿀 때는 제품이 지원하는 CREATE OR REPLACE VIEW 또는 삭제 후 재생성을 사용하며 기본 테이블처럼 열을 추가하는 방식이 일반 규칙은 아니므로 ③이 답이다.
- PostgreSQL — CREATE VIEW
확인 위치: PostgreSQL CREATE VIEW — logical relation and access restriction
판정 연결: 문항 47 판정 근거: 정답은 4번이다. 뷰는 저장된 질의 정의다. 질의를 바꿀 때는 제품이 지원하는 CREATE OR REPLACE VIEW 또는 삭제 후 재생성을 사용하며 기본 테이블처럼 열을 추가하는 방식이 일반 규칙은 아니므로 ③이 답이다.
48. 데이터베이스 설계자가 다음 조건을 확인한다. DBA가 사용자 PARK에게 테이블 [STUDENT]의 데이터를 갱신할 수 있는 권한을 부여하고자 한다. 다음 SQL문의 빈칸을 알맞게 채운 것은? GRANT ㉠ ㉡ STUDENT TO PARK;
- ㉠ INSERT, ㉡ INTO
- ㉠ ALTER, ㉡ TO
- ㉠ UPDATE, ㉡ ON
- ㉠ REPLACE, ㉡ IN
정답과 해설 보기
정답: 3
정답은 3번이다. 테이블의 데이터를 갱신하는 객체 권한은 UPDATE이고, 권한을 부여할 대상 객체 앞에는 ON을 씁니다. 완성된 문장은 GRANT UPDATE ON STUDENT TO PARK;이므로 ③이 정답입니다.
선지별 해설
- 1번 ‘㉠ INSERT, ㉡ INTO’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번 ‘㉠ ALTER, ㉡ TO’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 4번 ‘㉠ REPLACE, ㉡ IN’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 3번이다. 테이블의 데이터를 갱신하는 객체 권한은 UPDATE이고, 권한을 부여할 대상 객체 앞에는 ON을 씁니다. 완성된 문장은 GRANT UPDATE ON STUDENT TO PARK;이므로 ③이 정답입니다. 검증 기준: ㉠ UPDATE, ㉡ ON의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 48 판정 근거: 정답은 3번이다. 테이블의 데이터를 갱신하는 객체 권한은 UPDATE이고, 권한을 부여할 대상 객체 앞에는 ON을 씁니다. 완성된 문장은 GRANT UPDATE ON STUDENT TO PARK;이므로 ③이 정답입니다.
독립 계산·실행 추적: 갱신 권한 부여 문장은 GRANT UPDATE ON STUDENT TO PARK다.
- PostgreSQL — UPDATE
확인 위치: PostgreSQL UPDATE — conditional row update and affected-row result
판정 연결: 문항 48 판정 근거: 정답은 3번이다. 테이블의 데이터를 갱신하는 객체 권한은 UPDATE이고, 권한을 부여할 대상 객체 앞에는 ON을 씁니다. 완성된 문장은 GRANT UPDATE ON STUDENT TO PARK;이므로 ③이 정답입니다.
49. 데이터베이스 설계자가 다음 조건을 확인한다. 정규화된 엔티티, 속성, 관계를 시스템의 성능 향상과 개발·운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법은?
- 반정규화
- 집단화
- 머징
- 정규화
정답과 해설 보기
정답: 1
정답은 1번이다. 반정규화는 조회 성능과 운영 단순화를 위해 정규화된 테이블을 의도적으로 통합하거나 중복 데이터를 두는 기법입니다. 지문의 중복·통합·분리 작업에 해당하므로 반정규화가 정답입니다.
선지별 해설
- 1번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 2번 ‘집단화’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번 ‘머징’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번 ‘정규화’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 1번이다. 반정규화는 조회 성능과 운영 단순화를 위해 정규화된 테이블을 의도적으로 통합하거나 중복 데이터를 두는 기법입니다. 지문의 중복·통합·분리 작업에 해당하므로 반정규화가 정답입니다. 검증 기준: 반정규화의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 49 판정 근거: 정답은 1번이다. 반정규화는 조회 성능과 운영 단순화를 위해 정규화된 테이블을 의도적으로 통합하거나 중복 데이터를 두는 기법입니다. 지문의 중복·통합·분리 작업에 해당하므로 반정규화가 정답입니다.
- SWEBOK Computing Foundations — Databases
확인 위치: SWEBOK Computing Foundations — database design and keys
판정 연결: 문항 49 판정 근거: 정답은 1번이다. 반정규화는 조회 성능과 운영 단순화를 위해 정규화된 테이블을 의도적으로 통합하거나 중복 데이터를 두는 기법입니다. 지문의 중복·통합·분리 작업에 해당하므로 반정규화가 정답입니다.
50. 데이터베이스 설계자가 다음 조건을 확인한다. 제3정규형을 만족하는 릴레이션을 BCNF로 정규화할 때 추가로 확인해야 하는 조건은?
- 다치 종속 제거
- 모든 비자명 함수 종속의 결정자가 슈퍼키가 되도록 분해
- 이행적 함수 종속 제거
- 부분적 함수 종속 제거
정답과 해설 보기
정답: 2
정답은 2번이다. BCNF는 모든 비자명 함수 종속 X→Y에서 결정자 X가 슈퍼키일 것을 요구한다. 제3정규형에서는 허용될 수 있는 일부 종속도 BCNF에서는 위반이 될 수 있으므로, 슈퍼키가 아닌 결정자가 남지 않도록 무손실 분해해야 한다.
선지별 해설
- 1번 ‘다치 종속 제거’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 3번 ‘이행적 함수 종속 제거’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번 ‘부분적 함수 종속 제거’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 2번이다. BCNF는 모든 비자명 함수 종속 X→Y에서 결정자 X가 슈퍼키일 것을 요구한다. 제3정규형에서는 허용될 수 있는 일부 종속도 BCNF에서는 위반이 될 수 있으므로, 슈퍼키가 아닌 결정자가 남지 않도록 무손실 분해해야 한다. 검증 기준: 모든 비자명 함수 종속의 결정자가 슈퍼키가 되도록 분해의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 50 판정 근거: 정답은 2번이다. BCNF는 모든 비자명 함수 종속 X→Y에서 결정자 X가 슈퍼키일 것을 요구한다. 제3정규형에서는 허용될 수 있는 일부 종속도 BCNF에서는 위반이 될 수 있으므로, 슈퍼키가 아닌 결정자가 남지 않도록 무손실 분해해야 한다.
독립 계산·실행 추적: BCNF는 모든 비자명 함수 종속의 결정자가 슈퍼키여야 한다.
- E. F. Codd — A Relational Model of Data (paper mirror)
확인 위치: Relational model — relations, keys, dependencies and algebra
판정 연결: 문항 50 판정 근거: 정답은 2번이다. BCNF는 모든 비자명 함수 종속 X→Y에서 결정자 X가 슈퍼키일 것을 요구한다. 제3정규형에서는 허용될 수 있는 일부 종속도 BCNF에서는 위반이 될 수 있으므로, 슈퍼키가 아닌 결정자가 남지 않도록 무손실 분해해야 한다.
51. 데이터베이스 설계자가 다음 조건을 확인한다. 주문 테이블의 customer_id 검색을 빠르게 하려고 별도 키 구조를 만들되, 삽입·갱신 시 유지 비용이 추가되는 객체는?
- 트리거
- 인덱스
- 트랜잭션
- 반정규화 규칙
정답과 해설 보기
정답: 2
정답은 2번이다. 인덱스는 검색 키와 행 위치를 별도 구조로 유지해 조회를 빠르게 하지만 저장 공간과 갱신 비용이 든다. 따라서 ①이 맞다.
선지별 해설
- 1번 ‘트리거’는 선택 조건과 다르다. 오답 이유 트리거는 데이터 변경 이벤트에 자동 실행되는 절차로 탐색 경로를 저장하지 않는다.
- 2번은 정답 선지다. 정답 근거 인덱스는 customer_id와 행 위치를 별도 구조로 유지해 탐색을 줄이는 대신 변경 시 유지 비용이 든다.
- 3번 ‘트랜잭션’는 선택 조건과 다르다. 오답 이유 트랜잭션은 여러 작업의 원자성과 일관성을 보장하는 실행 단위이지 검색 키 구조가 아니다.
- 4번 ‘반정규화 규칙’는 선택 조건과 다르다. 오답 이유 반정규화는 테이블 구조에 중복을 허용하는 설계 전략이며 별도 검색 키 객체를 뜻하지 않는다.
정답 판정: 정답 판정: 정답은 2번이다. 인덱스는 검색 키와 행 위치를 별도 구조로 유지해 조회를 빠르게 하지만 저장 공간과 갱신 비용이 든다. 따라서 ①이 맞다. 검증 기준: 인덱스의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 51 판정 근거: 정답은 2번이다. 인덱스는 검색 키와 행 위치를 별도 구조로 유지해 조회를 빠르게 하지만 저장 공간과 갱신 비용이 든다. 따라서 ①이 맞다.
- PostgreSQL — Indexes
확인 위치: PostgreSQL indexes — unique index behavior
판정 연결: 문항 51 판정 근거: 정답은 2번이다. 인덱스는 검색 키와 행 위치를 별도 구조로 유지해 조회를 빠르게 하지만 저장 공간과 갱신 비용이 든다. 따라서 ①이 맞다.
52. 데이터베이스 설계자가 다음 조건을 확인한다. 부서별 급여 합계를 계산한 뒤 합계가 1억 원 이상인 부서 그룹만 결과에 남기려 한다. 그룹 집계가 끝난 뒤 조건을 적용하는 SQL 절은?
- HAVING
- WHERE
- ORDER BY
- DISTINCT
정답과 해설 보기
정답: 1
정답은 1번이다. HAVING은 GROUP BY로 만든 그룹과 집계 결과를 조건으로 거른다. SUM(salary)처럼 그룹별 합계를 계산한 뒤 기준 이상 그룹만 남기려면 ①을 사용한다.
선지별 해설
- 1번은 정답 선지다. 정답 근거 HAVING SUM(salary) >= 100000000처럼 집계값에 대한 그룹 조건을 작성할 수 있다.
- 2번 ‘WHERE’는 선택 조건과 다르다. 오답 이유 WHERE는 그룹화 전에 개별 직원 행을 제한하므로 같은 단계의 집계 결과 조건이 아니다.
- 3번 ‘ORDER BY’는 선택 조건과 다르다. 오답 이유 ORDER BY는 남은 결과의 출력 순서를 정하며 그룹을 제거하는 조건절이 아니다.
- 4번 ‘DISTINCT’는 선택 조건과 다르다. 오답 이유 DISTINCT는 선택 결과의 중복 행을 제거하지만 집계 합계 기준으로 그룹을 거르지 않는다.
정답 판정: 정답 판정: 정답은 1번이다. HAVING은 GROUP BY로 만든 그룹과 집계 결과를 조건으로 거른다. SUM(salary)처럼 그룹별 합계를 계산한 뒤 기준 이상 그룹만 남기려면 ①을 사용한다. 검증 기준: HAVING의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 52 판정 근거: 정답은 1번이다. HAVING은 GROUP BY로 만든 그룹과 집계 결과를 조건으로 거른다. SUM(salary)처럼 그룹별 합계를 계산한 뒤 기준 이상 그룹만 남기려면 ①을 사용한다.
독립 계산·실행 추적: 그룹 집계 후 조건은 HAVING 절에 둔다.
- PostgreSQL — Aggregate Functions tutorial
확인 위치: PostgreSQL aggregate functions — count
판정 연결: 문항 52 판정 근거: 정답은 1번이다. HAVING은 GROUP BY로 만든 그룹과 집계 결과를 조건으로 거른다. SUM(salary)처럼 그룹별 합계를 계산한 뒤 기준 이상 그룹만 남기려면 ①을 사용한다.
53. 데이터베이스 설계자가 다음 조건을 확인한다. 릴레이션에서 기본키를 구성하는 속성은 NULL 값이나 중복 값을 가질 수 없다는 것을 의미하는 제약 조건은?
- 보안 무결성
- 개체 무결성
- 정보 무결성
- 참조 무결성
정답과 해설 보기
정답: 2
정답은 2번이다. 개체 무결성은 기본키를 구성하는 속성이 NULL이나 중복 값을 가질 수 없다는 규칙입니다
선지별 해설
- 1번 ‘보안 무결성’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 3번 ‘정보 무결성’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번 ‘참조 무결성’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 2번이다. 개체 무결성은 기본키를 구성하는 속성이 NULL이나 중복 값을 가질 수 없다는 규칙입니다 검증 기준: 개체 무결성의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 53 판정 근거: 정답은 2번이다. 개체 무결성은 기본키를 구성하는 속성이 NULL이나 중복 값을 가질 수 없다는 규칙입니다
- PostgreSQL — Constraints
확인 위치: PostgreSQL constraints — primary key and entity integrity
판정 연결: 문항 53 판정 근거: 정답은 2번이다. 개체 무결성은 기본키를 구성하는 속성이 NULL이나 중복 값을 가질 수 없다는 규칙입니다
54. 데이터베이스 설계자가 다음 조건을 확인한다. 관계대수와 관계해석을 비교한 기술로 적절하지 않은 설명을 고르면?
- 관계대수에는 합집합 같은 집합 연산과 선택·투영 같은 관계 연산이 있다.
- 관계해석은 원하는 결과가 만족할 조건을 선언적으로 기술한다.
- 관계대수는 결과를 얻는 연산 순서를 쓰지 않는 비절차적 언어다.
- 관계대수의 연산은 릴레이션을 입력받아 릴레이션을 결과로 낸다.
정답과 해설 보기
정답: 3
정답은 3번이다. 관계대수는 원하는 결과를 만들 연산과 순서를 기술하는 절차적 언어다. 비절차적이라고 한 ①이 틀리다.
선지별 해설
- 1번 ‘관계대수에는 합집합 같은 집합 연산과 선택·투영 같은 관계 연산이 있다.’는 선택 조건과 다르다. 오답 이유 일반 집합 연산과 순수 관계 연산으로 구분할 수 있다.
- 2번 ‘관계해석은 원하는 결과가 만족할 조건을 선언적으로 기술한다.’는 선택 조건과 다르다. 오답 이유 관계해석은 결과가 만족할 논리 조건을 중심으로 표현한다.
- 3번은 정답 선지다. 정답 근거 관계대수는 연산 적용 방법을 명시하므로 절차적이다.
- 4번 ‘관계대수의 연산은 릴레이션을 입력받아 릴레이션을 결과로 낸다.’는 선택 조건과 다르다. 오답 이유 관계에 닫혀 있어 피연산자와 결과가 모두 릴레이션이다.
정답 판정: 정답 판정: 정답은 3번이다. 관계대수는 원하는 결과를 만들 연산과 순서를 기술하는 절차적 언어다. 비절차적이라고 한 ①이 틀리다. 검증 기준: 관계대수는 결과를 얻는 연산 순서를 쓰지 않는 비절차적 언어다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 54 판정 근거: 정답은 3번이다. 관계대수는 원하는 결과를 만들 연산과 순서를 기술하는 절차적 언어다. 비절차적이라고 한 ①이 틀리다.
- E. F. Codd — A Relational Model of Data (paper mirror)
확인 위치: Relational model — relations, keys, dependencies and algebra
판정 연결: 문항 54 판정 근거: 정답은 3번이다. 관계대수는 원하는 결과를 만들 연산과 순서를 기술하는 절차적 언어다. 비절차적이라고 한 ①이 틀리다.
55. 데이터베이스 설계자가 다음 조건을 확인한다. 학적 테이블에서 전화번호가 NULL이 아닌 학생명을 모두 검색하는 SQL문으로 타당한 설명을 고르면?
- SELECT 학생명 FROM 학적 WHERE 전화번호 IS NULL;
- SELECT 학생명 FROM 학적 WHERE 전화번호 = NULL;
- SELECT 학생명 FROM 학적 WHERE 전화번호 != NULL;
- SELECT 학생명 FROM 학적 WHERE 전화번호 IS NOT NULL;
정답과 해설 보기
정답: 4
정답은 4번이다. SQL에서 NULL은 일반 비교 연산자(=, !=, <>)로 판정하지 않고 IS NULL 또는 IS NOT NULL을 사용합니다. 전화번호가 입력된 행만 골라야 하므로 WHERE 전화번호 IS NOT NULL이 정답입니다.
선지별 해설
- 1번 ‘SELECT 학생명 FROM 학적 WHERE 전화번호 IS NULL;’는 선택 조건과 다르다. 오답 이유 IS NULL은 전화번호가 비어 있는 행을 선택하므로 조건이 반대입니다.
- 2번 ‘SELECT 학생명 FROM 학적 WHERE 전화번호 = NULL;’는 선택 조건과 다르다. 오답 이유 NULL은 등호(=)로 비교할 수 없습니다.
- 3번 ‘SELECT 학생명 FROM 학적 WHERE 전화번호 != NULL;’는 선택 조건과 다르다. 오답 이유 NULL은 부등 비교(!=)로도 판정할 수 없습니다.
- 4번은 정답 선지다. 정답 근거 IS NOT NULL은 해당 열에 NULL이 아닌 값이 있는 행을 선택합니다.
정답 판정: 정답 판정: 정답은 4번이다. SQL에서 NULL은 일반 비교 연산자(=, !=, <>)로 판정하지 않고 IS NULL 또는 IS NOT NULL을 사용합니다. 전화번호가 입력된 행만 골라야 하므로 WHERE 전화번호 IS NOT NULL이 정답입니다. 검증 기준: SELECT 학생명 FROM 학적 WHERE 전화번호 IS NOT NULL;의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 55 판정 근거: 정답은 4번이다. SQL에서 NULL은 일반 비교 연산자(=, !=, <>)로 판정하지 않고 IS NULL 또는 IS NOT NULL을 사용합니다. 전화번호가 입력된 행만 골라야 하므로 WHERE 전화번호 IS NOT NULL이 정답입니다.
독립 계산·실행 추적: NULL이 아닌 값은 IS NOT NULL로 검사한다.
- PostgreSQL — SELECT
확인 위치: PostgreSQL SELECT — IS NOT NULL and projection
판정 연결: 문항 55 판정 근거: 정답은 4번이다. SQL에서 NULL은 일반 비교 연산자(=, !=, <>)로 판정하지 않고 IS NULL 또는 IS NOT NULL을 사용합니다. 전화번호가 입력된 행만 골라야 하므로 WHERE 전화번호 IS NOT NULL이 정답입니다.
56. 데이터베이스 설계자가 다음 조건을 확인한다. 분산 데이터베이스 시스템의 구성과 특성에 대한 기술로 적절하지 않은 설명을 고르면?
- 물리 데이터는 여러 사이트에 있지만 논리적으로 하나처럼 제공할 수 있다.
- 분산 DBMS는 위치와 복제 정보를 관리해 투명성을 제공할 수 있다.
- 사이트 간 통신 장애와 분산 트랜잭션 때문에 운영 비용이 증가할 수 있다.
- 중앙의 단일 데이터 파일 하나와 P2P 응용만 있으면 분산 DBMS 없이도 항상 분산 데이터베이스가 된다.
정답과 해설 보기
정답: 4
정답은 4번이다. 분산 데이터베이스는 여러 사이트의 데이터베이스, 분산 DBMS, 통신 기능으로 일관된 논리 시스템을 제공한다. 단일 파일과 P2P 응용만으로 항상 성립한다는 ④가 틀리다.
선지별 해설
- 1번 ‘물리 데이터는 여러 사이트에 있지만 논리적으로 하나처럼 제공할 수 있다.’는 선택 조건과 다르다. 오답 이유 논리적 통합과 물리적 분산은 분산 데이터베이스의 핵심 특성이다.
- 2번 ‘분산 DBMS는 위치와 복제 정보를 관리해 투명성을 제공할 수 있다.’는 선택 조건과 다르다. 오답 이유 분산 DBMS는 저장 위치와 복제본의 존재를 사용자에게 숨길 수 있다.
- 3번 ‘사이트 간 통신 장애와 분산 트랜잭션 때문에 운영 비용이 증가할 수 있다.’는 선택 조건과 다르다. 오답 이유 네트워크·동시성·복구 조정은 중앙 집중형보다 복잡할 수 있다.
- 4번은 정답 선지다. 정답 근거 분산 저장과 일관성 관리 계층이 없으면 분산 데이터베이스라고 볼 수 없다.
정답 판정: 정답 판정: 정답은 4번이다. 분산 데이터베이스는 여러 사이트의 데이터베이스, 분산 DBMS, 통신 기능으로 일관된 논리 시스템을 제공한다. 단일 파일과 P2P 응용만으로 항상 성립한다는 ④가 틀리다. 검증 기준: 중앙의 단일 데이터 파일 하나와 P2P 응용만 있으면 분산 DBMS 없이도 항상 분산 데이터베이스가 된다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 56 판정 근거: 정답은 4번이다. 분산 데이터베이스는 여러 사이트의 데이터베이스, 분산 DBMS, 통신 기능으로 일관된 논리 시스템을 제공한다. 단일 파일과 P2P 응용만으로 항상 성립한다는 ④가 틀리다.
- Oracle Database — Distributed Database Concepts
확인 위치: Oracle distributed database concepts
판정 연결: 문항 56 판정 근거: 정답은 4번이다. 분산 데이터베이스는 여러 사이트의 데이터베이스, 분산 DBMS, 통신 기능으로 일관된 논리 시스템을 제공한다. 단일 파일과 P2P 응용만으로 항상 성립한다는 ④가 틀리다.
57. 데이터베이스 설계자가 다음 조건을 확인한다. 데이터 모델의 구성 요소 중 데이터 구조에 따라 개념 세계나 컴퓨터 세계에서 실제로 표현된 값들을 처리하는 작업을 가리키는 용어를 고르면?
- Data Structure
- Constraint
- Operation
- Relation
정답과 해설 보기
정답: 3
정답은 3번이다. 데이터 모델의 Operation은 정의된 데이터 구조에 저장된 값을 검색·삽입·수정·삭제하는 처리 작업을 뜻합니다. Structure는 데이터의 형태, Constraint는 허용 조건을 나타내므로 Operation이 정답입니다.
선지별 해설
- 1번 ‘Data Structure’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번 ‘Constraint’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 4번 ‘Relation’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 3번이다. 데이터 모델의 Operation은 정의된 데이터 구조에 저장된 값을 검색·삽입·수정·삭제하는 처리 작업을 뜻합니다. Structure는 데이터의 형태, Constraint는 허용 조건을 나타내므로 Operation이 정답입니다. 검증 기준: Operation의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 57 판정 근거: 정답은 3번이다. 데이터 모델의 Operation은 정의된 데이터 구조에 저장된 값을 검색·삽입·수정·삭제하는 처리 작업을 뜻합니다. Structure는 데이터의 형태, Constraint는 허용 조건을 나타내므로 Operation이 정답입니다.
- SWEBOK Computing Foundations — Databases
확인 위치: SWEBOK Computing Foundations — database design and keys
판정 연결: 문항 57 판정 근거: 정답은 3번이다. 데이터 모델의 Operation은 정의된 데이터 구조에 저장된 값을 검색·삽입·수정·삭제하는 처리 작업을 뜻합니다. Structure는 데이터의 형태, Constraint는 허용 조건을 나타내므로 Operation이 정답입니다.
58. 데이터베이스 설계자가 다음 조건을 확인한다. DBMS의 데이터 사전(시스템 카탈로그)에 대한 기술로 적절하지 않은 설명을 고르면?
- DBMS가 질의 처리와 권한 검사에 필요한 메타데이터를 관리한다.
- 실제 저장 위치 등 물리 정보는 데이터 디렉터리와 연계될 수 있다.
- 테이블·열·제약조건 같은 스키마 정보를 담는다.
- 일반 사용자가 무결성 유지를 위해 카탈로그 행을 임의로 직접 수정해야 한다.
정답과 해설 보기
정답: 4
정답은 4번이다. 카탈로그는 DBMS가 생성·유지하는 메타데이터 저장소다. 일반 사용자가 임의로 직접 수정해야 한다는 ②가 틀리다.
선지별 해설
- 1번 ‘DBMS가 질의 처리와 권한 검사에 필요한 메타데이터를 관리한다.’는 선택 조건과 다르다. 오답 이유 옵티마이저와 권한 시스템은 카탈로그 정보를 활용한다.
- 2번 ‘실제 저장 위치 등 물리 정보는 데이터 디렉터리와 연계될 수 있다.’는 선택 조건과 다르다. 오답 이유 논리 메타데이터와 물리 위치 정보는 관리 구성에서 연계될 수 있다.
- 3번 ‘테이블·열·제약조건 같은 스키마 정보를 담는다.’는 선택 조건과 다르다. 오답 이유 데이터 객체의 정의 정보는 카탈로그의 대표 내용이다.
- 4번은 정답 선지다. 정답 근거 직접 수정은 카탈로그 일관성을 해칠 수 있어 DBMS가 관리한다.
정답 판정: 정답 판정: 정답은 4번이다. 카탈로그는 DBMS가 생성·유지하는 메타데이터 저장소다. 일반 사용자가 임의로 직접 수정해야 한다는 ②가 틀리다. 검증 기준: 일반 사용자가 무결성 유지를 위해 카탈로그 행을 임의로 직접 수정해야 한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 58 판정 근거: 정답은 4번이다. 카탈로그는 DBMS가 생성·유지하는 메타데이터 저장소다. 일반 사용자가 임의로 직접 수정해야 한다는 ②가 틀리다.
- PostgreSQL — System Catalogs
확인 위치: PostgreSQL system catalogs — metadata and schema information
판정 연결: 문항 58 판정 근거: 정답은 4번이다. 카탈로그는 DBMS가 생성·유지하는 메타데이터 저장소다. 일반 사용자가 임의로 직접 수정해야 한다는 ②가 틀리다.
59. 데이터베이스 설계자가 다음 조건을 확인한다. 관계형 데이터베이스 키의 기술로 틀린 설명을 고르면?
- 대체키는 모든 슈퍼키 중 기본키 하나를 뺀 나머지 전부다.
- 후보키는 유일성과 최소성을 만족한다.
- 슈퍼키는 유일성을 만족하지만 여분 속성을 포함할 수 있다.
- 외래키는 다른 릴레이션의 후보키를 참조한다.
정답과 해설 보기
정답: 1
정답은 1번이다. 대체키는 후보키 중 기본키로 선택되지 않은 키다. 최소성을 만족하지 않는 슈퍼키까지 포함한다는 ④가 틀리다.
선지별 해설
- 1번은 정답 선지다. 정답 근거 대체키는 후보키 가운데 기본키로 선택되지 않은 키만 뜻하며 모든 슈퍼키를 포함하지 않는다.
- 2번 ‘후보키는 유일성과 최소성을 만족한다.’는 선택 조건과 다르다. 오답 이유 후보키는 튜플을 유일하게 구분하면서 불필요한 속성이 없는 최소 키다.
- 3번 ‘슈퍼키는 유일성을 만족하지만 여분 속성을 포함할 수 있다.’는 선택 조건과 다르다. 오답 이유 슈퍼키는 유일성을 만족하지만 후보키에 여분 속성을 더한 집합도 포함한다.
- 4번 ‘외래키는 다른 릴레이션의 후보키를 참조한다.’는 선택 조건과 다르다. 오답 이유 외래키는 참조 대상의 기본키 또는 후보키 값과 대응해 참조 무결성을 표현한다.
정답 판정: 정답 판정: 정답은 1번이다. 대체키는 후보키 중 기본키로 선택되지 않은 키다. 최소성을 만족하지 않는 슈퍼키까지 포함한다는 ④가 틀리다. 검증 기준: 대체키는 모든 슈퍼키 중 기본키 하나를 뺀 나머지 전부다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 59 판정 근거: 정답은 1번이다. 대체키는 후보키 중 기본키로 선택되지 않은 키다. 최소성을 만족하지 않는 슈퍼키까지 포함한다는 ④가 틀리다.
- E. F. Codd — A Relational Model of Data (paper mirror)
확인 위치: Relational model — relations, keys, dependencies and algebra
판정 연결: 문항 59 판정 근거: 정답은 1번이다. 대체키는 후보키 중 기본키로 선택되지 않은 키다. 최소성을 만족하지 않는 슈퍼키까지 포함한다는 ④가 틀리다.
60. 데이터베이스 설계자가 다음 조건을 확인한다. 매출 큐브의 차원이 시간·지역·상품일 때 시간='2026년 8월'로 한 차원을 고정하고 지역×상품의 2차원 단면만 조회했다. 적용한 OLAP 연산은?
- 슬라이스(Slice)
- 롤업(Roll-up)
- 드릴다운(Drill-down)
- 피벗(Pivot)
정답과 해설 보기
정답: 1
정답은 1번이다. 슬라이스는 다차원 큐브에서 한 차원의 특정 값을 고정해 차원을 하나 줄인 단면을 만든다. 시간을 한 달로 고정하고 지역×상품을 본 것이므로 ①이 정답으로 판정된다.
선지별 해설
- 1번은 정답 선지다. 정답 근거 시간 값을 하나로 고정해 3차원 큐브에서 2차원 평면을 얻었으므로 슬라이스다.
- 2번 ‘롤업(Roll-up)’는 선택 조건과 다르다. 오답 이유 롤업은 일→월→분기처럼 계층의 상위 수준으로 집계해 세부 수준을 줄인다.
- 3번 ‘드릴다운(Drill-down)’는 선택 조건과 다르다. 오답 이유 드릴다운은 상위 집계에서 더 세부 계층으로 내려가 상세 값을 확인한다.
- 4번 ‘피벗(Pivot)’는 선택 조건과 다르다. 오답 이유 피벗은 같은 데이터를 보는 축 방향을 바꾸어 행·열 관점을 회전한다.
정답 판정: 정답 판정: 정답은 1번이다. 슬라이스는 다차원 큐브에서 한 차원의 특정 값을 고정해 차원을 하나 줄인 단면을 만든다. 시간을 한 달로 고정하고 지역×상품을 본 것이므로 ①이 정답으로 판정된다. 검증 기준: 슬라이스(Slice)의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 60 판정 근거: 정답은 1번이다. 슬라이스는 다차원 큐브에서 한 차원의 특정 값을 고정해 차원을 하나 줄인 단면을 만든다. 시간을 한 달로 고정하고 지역×상품을 본 것이므로 ①이 정답으로 판정된다.
독립 계산·실행 추적: 한 차원을 고정한 2차원 단면은 Slice다.
- SWEBOK Computing Foundations — Databases
확인 위치: SWEBOK Computing Foundations — database design and keys
판정 연결: 문항 60 판정 근거: 정답은 1번이다. 슬라이스는 다차원 큐브에서 한 차원의 특정 값을 고정해 차원을 하나 줄인 단면을 만든다. 시간을 한 달로 고정하고 지역×상품을 본 것이므로 ①이 정답으로 판정된다.
정보처리기사 필기 기출문제 · 프로그래밍 언어 활용
61. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. UNIX 셸의 역할에 대한 기술로 틀린 설명을 고르면?
- 파이프와 리다이렉션으로 명령을 조합한다.
- 여러 종류의 셸 구현을 선택할 수 있다.
- 물리 메모리 배치와 장치 인터럽트를 직접 관리한다.
- 사용자 명령을 해석한다.
정답과 해설 보기
정답: 3
정답은 3번이다. 메모리와 장치를 직접 관리하는 것은 커널이다. 셸은 명령 해석과 작업 제어를 제공하므로 ④가 틀리다.
선지별 해설
- 1번 ‘파이프와 리다이렉션으로 명령을 조합한다.’는 선택 조건과 다르다. 오답 이유 셸 문법은 파이프와 입출력 리다이렉션으로 여러 명령을 조합한다.
- 2번 ‘여러 종류의 셸 구현을 선택할 수 있다.’는 선택 조건과 다르다. 오답 이유 sh, bash, ksh 등 서로 다른 셸을 사용할 수 있다.
- 3번은 정답 선지다. 정답 근거 물리 메모리와 인터럽트 관리는 보호 모드에서 동작하는 커널의 책임이다.
- 4번 ‘사용자 명령을 해석한다.’는 선택 조건과 다르다. 오답 이유 셸은 입력된 명령을 해석해 적절한 프로그램 실행을 요청한다.
정답 판정: 정답 판정: 정답은 3번이다. 메모리와 장치를 직접 관리하는 것은 커널이다. 셸은 명령 해석과 작업 제어를 제공하므로 ④가 틀리다. 검증 기준: 물리 메모리 배치와 장치 인터럽트를 직접 관리한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 61 판정 근거: 정답은 3번이다. 메모리와 장치를 직접 관리하는 것은 커널이다. 셸은 명령 해석과 작업 제어를 제공하므로 ④가 틀리다.
- The Open Group Base Specifications — Shell Command Language
확인 위치: POSIX Shell — file creation modes and umask
판정 연결: 문항 61 판정 근거: 정답은 3번이다. 메모리와 장치를 직접 관리하는 것은 커널이다. 셸은 명령 해석과 작업 제어를 제공하므로 ④가 틀리다.
62. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 증감 연산자를 포함한 다음 C 프로그램의 출력값은? #include <stdio.h> int main(void) { int a = 7, b = 1; printf("%d", a++ + ++b); return 0; }
- 9
- 10
- 7
- 8
정답과 해설 보기
정답: 1
정답은 1번이다. 후위 증가 a++는 현재 식에 7을 사용한 뒤 a를 8로 만든다. 전위 증가 ++b는 b를 먼저 2로 만든 뒤 현재 식에 2를 사용한다. 따라서 출력값은 7+2=9이다.
선지별 해설
- 1번은 정답 선지다. 정답 근거 a++는 7을 사용하고 ++b는 b를 2로 만든 뒤 2를 사용하므로 9가 맞다.
- 2번 ‘10’는 선택 조건과 다르다. 오답 이유 10은 후위 증가인 a++도 증가된 값 8로 계산해 8+2를 수행한 결과다.
- 3번 ‘7’는 선택 조건과 다르다. 오답 이유 7은 a의 초기값만 사용하고 오른쪽 피연산자 ++b를 더하지 않은 값이다.
- 4번 ‘8’는 선택 조건과 다르다. 오답 이유 8은 ++b의 증가를 반영하지 않고 a와 b의 초기값 7과 1을 더한 값이다.
정답 판정: 정답 판정: 정답은 1번이다. 후위 증가 a++는 현재 식에 7을 사용한 뒤 a를 8로 만든다. 전위 증가 ++b는 b를 먼저 2로 만든 뒤 현재 식에 2를 사용한다. 따라서 출력값은 7+2=9이다. 검증 기준: 9의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 62 판정 근거: 정답은 1번이다. 후위 증가 a++는 현재 식에 7을 사용한 뒤 a를 8로 만든다. 전위 증가 ++b는 b를 먼저 2로 만든 뒤 현재 식에 2를 사용한다. 따라서 출력값은 7+2=9이다.
독립 계산·실행 추적: a++는 7, ++b는 2를 사용하므로 7+2=9다.
- ISO C committee draft N1570
확인 위치: ISO C N1570 — operators, arrays, pointers and library functions
판정 연결: 문항 62 판정 근거: 정답은 1번이다. 후위 증가 a++는 현재 식에 7을 사용한 뒤 a를 8로 만든다. 전위 증가 ++b는 b를 먼저 2로 만든 뒤 현재 식에 2를 사용한다. 따라서 출력값은 7+2=9이다.
63. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. Java에서 사용되는 출력 함수가 해당하지 않는 것을 고르면?
- System.out.printf( )
- System.out.print( )
- System.out.println( )
- System.out.printing( )
정답과 해설 보기
정답: 4
정답은 4번이다. Java의 표준 출력 메서드는 print(), println(), printf()이다. System.out.printing()이라는 메서드는 제공되지 않으므로 4번이 정답으로 판정된다.
선지별 해설
- 1번 ‘System.out.printf( )’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번 ‘System.out.print( )’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번 ‘System.out.println( )’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
정답 판정: 정답 판정: 정답은 4번이다. Java의 표준 출력 메서드는 print(), println(), printf()이다. System.out.printing()이라는 메서드는 제공되지 않으므로 4번이 정답으로 판정된다. 검증 기준: System.out.printing( )의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 63 판정 근거: 정답은 4번이다. Java의 표준 출력 메서드는 print(), println(), printf()이다. System.out.printing()이라는 메서드는 제공되지 않으므로 4번이 정답으로 판정된다.
- Oracle Java Language Specification
확인 위치: Java Language Specification — arrays, exceptions, access and overriding
판정 연결: 문항 63 판정 근거: 정답은 4번이다. Java의 표준 출력 메서드는 print(), println(), printf()이다. System.out.printing()이라는 메서드는 제공되지 않으므로 4번이 정답으로 판정된다.
64. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 결합도가 낮은 것부터 높은 순으로 옳게 나열한 것은? (가) 내용 결합도 (나) 자료 결합도 (다) 공통 결합도 (라) 스탬프 결합도 (마) 외부 결합도 (바) 제어 결합도
- (가) → (나) → (다) → (라) → (마) → (바)
- (나) → (라) → (마) → (바) → (다) → (가)
- (나) → (라) → (바) → (마) → (다) → (가)
- (가) → (나) → (다) → (마) → (라) → (바)
정답과 해설 보기
정답: 3
정답은 3번이다. 결합도는 자료, 스탬프, 제어, 외부, 공통, 내용 결합도 순으로 높아집니다. 따라서 ③이 맞습니다
선지별 해설
- 1번 ‘(가) → (나) → (다) → (라) → (마) → (바)’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번 ‘(나) → (라) → (마) → (바) → (다) → (가)’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 4번 ‘(가) → (나) → (다) → (마) → (라) → (바)’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 3번이다. 결합도는 자료, 스탬프, 제어, 외부, 공통, 내용 결합도 순으로 높아집니다. 따라서 ③이 맞습니다 검증 기준: (나) → (라) → (바) → (마) → (다) → (가)의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 64 판정 근거: 정답은 3번이다. 결합도는 자료, 스탬프, 제어, 외부, 공통, 내용 결합도 순으로 높아집니다. 따라서 ③이 맞습니다
독립 계산·실행 추적: 자료→스탬프→제어→외부→공통→내용 결합도 순이다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: SWEBOK V4 — relevant knowledge area definition and practice
판정 연결: 문항 64 판정 근거: 정답은 3번이다. 결합도는 자료, 스탬프, 제어, 외부, 공통, 내용 결합도 순으로 높아집니다. 따라서 ③이 맞습니다
65. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. OSI 7계층 중 네트워크 계층에 대한 기술로 적절하지 않은 설명을 고르면?
- 한 노드로부터 다른 노드로 프레임을 전송하는 책임을 진다.
- 패킷에 발신지와 목적지의 논리 주소를 추가한다.
- 라우터 또는 교환기는 패킷 전달을 위해 경로를 지정하거나 교환 기능을 제공한다.
- 패킷을 발신지로부터 최종 목적지까지 전달하는 책임을 진다.
정답과 해설 보기
정답: 1
정답은 1번이다. 네트워크 계층은 논리 주소와 라우팅을 담당하며 대표 프로토콜은 IP ICMP • ARP 계열입니다.
선지별 해설
- 1번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 2번 ‘패킷에 발신지와 목적지의 논리 주소를 추가한다.’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번 ‘라우터 또는 교환기는 패킷 전달을 위해 경로를 지정하거나 교환 기능을 제공한다.’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번 ‘패킷을 발신지로부터 최종 목적지까지 전달하는 책임을 진다.’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 1번이다. 네트워크 계층은 논리 주소와 라우팅을 담당하며 대표 프로토콜은 IP ICMP • ARP 계열입니다. 검증 기준: 한 노드로부터 다른 노드로 프레임을 전송하는 책임을 진다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 65 판정 근거: 정답은 1번이다. 네트워크 계층은 논리 주소와 라우팅을 담당하며 대표 프로토콜은 IP ICMP • ARP 계열입니다.
- ITU-T X.200 — OSI Basic Reference Model
확인 위치: ITU-T X.200 — OSI layer functions
판정 연결: 문항 65 판정 근거: 정답은 1번이다. 네트워크 계층은 논리 주소와 라우팅을 담당하며 대표 프로토콜은 IP ICMP • ARP 계열입니다.
66. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 다음 C언어 프로그램이 실행되었을 때의 결과는? #include <stdio.h> int main(void) { int a = 3, b = 4, c = 2; int r1 = b <= 4 || c == 2; int r2 = (a > 0) && (b < 5); int r3 = !c; printf("%d", r1 + r2 + r3); return 0; }
- 2
- 3
- 0
- 1
정답과 해설 보기
정답: 1
정답은 1번이다. b <= 4와 c == 2가 모두 참이므로 r1은 1이고, (a > 0) && (b < 5)도 참이므로 r2는 1이다. !c는 c가 0이 아니어서 거짓이므로 r3는 0이며, 세 값을 더하면 2가 된다.
선지별 해설
- 1번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 2번 ‘3’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번 ‘0’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번 ‘1’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 1번이다. b <= 4와 c == 2가 모두 참이므로 r1은 1이고, (a > 0) && (b < 5)도 참이므로 r2는 1이다. !c는 c가 0이 아니어서 거짓이므로 r3는 0이며, 세 값을 더하면 2가 된다. 검증 기준: 2의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 66 판정 근거: 정답은 1번이다. b <= 4와 c == 2가 모두 참이므로 r1은 1이고, (a > 0) && (b < 5)도 참이므로 r2는 1이다. !c는 c가 0이 아니어서 거짓이므로 r3는 0이며, 세 값을 더하면 2가 된다.
독립 계산·실행 추적: r1=1,r2=1,r3=0이므로 합은 2다.
- ISO C committee draft N1570
확인 위치: ISO C N1570 — operators, arrays, pointers and library functions
판정 연결: 문항 66 판정 근거: 정답은 1번이다. b <= 4와 c == 2가 모두 참이므로 r1은 1이고, (a > 0) && (b < 5)도 참이므로 r2는 1이다. !c는 c가 0이 아니어서 거짓이므로 r3는 0이며, 세 값을 더하면 2가 된다.
67. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. TCP/IP 계층 구조에서 IP 패킷 전달 중 발생한 오류 정보를 전송하는 프로토콜은?
- PPP(Point-to-Point Protocol)
- ECP(Error Checking Protocol)
- ARP(Address Resolution Protocol)
- ICMP(Internet Control Message Protocol)
정답과 해설 보기
정답: 4
정답은 4번이다. ICMP는 IP 패킷 전달 중 발생한 오류를 보고하고 Echo Request·Reply 같은 진단 메시지를 전달합니다. 따라서 IP 전송 오류 정보를 보내는 프로토콜은 ICMP입니다.
선지별 해설
- 1번 ‘PPP(Point-to-Point Protocol)’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번 ‘ECP(Error Checking Protocol)’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번 ‘ARP(Address Resolution Protocol)’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
정답 판정: 정답 판정: 정답은 4번이다. ICMP는 IP 패킷 전달 중 발생한 오류를 보고하고 Echo Request·Reply 같은 진단 메시지를 전달합니다. 따라서 IP 전송 오류 정보를 보내는 프로토콜은 ICMP입니다. 검증 기준: ICMP(Internet Control Message Protocol)의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 67 판정 근거: 정답은 4번이다. ICMP는 IP 패킷 전달 중 발생한 오류를 보고하고 Echo Request·Reply 같은 진단 메시지를 전달합니다. 따라서 IP 전송 오류 정보를 보내는 프로토콜은 ICMP입니다.
- IETF RFC 792 — Internet Control Message Protocol
확인 위치: RFC 792 — ICMP reports errors in Internet Protocol datagram processing
판정 연결: 문항 67 판정 근거: 정답은 4번이다. ICMP는 IP 패킷 전달 중 발생한 오류를 보고하고 Echo Request·Reply 같은 진단 메시지를 전달합니다. 따라서 IP 전송 오류 정보를 보내는 프로토콜은 ICMP입니다.
68. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. UNIX 계열 운영체제의 일반적 특징으로 틀린 설명을 고르면?
- 셸에서 작업을 백그라운드로 실행할 수 있다.
- 여러 사용자는 지원하지만 한 시점에 하나의 작업만 실행한다.
- 디렉터리가 루트에서 시작하는 계층적 트리를 이룬다.
- 주요 부분이 고급 언어로 작성되어 이식성이 높다.
정답과 해설 보기
정답: 2
정답은 2번이다. UNIX는 멀티유저와 멀티태스킹을 모두 지원한다. 한 시점에 하나의 작업만 실행한다는 ②가 틀리다.
선지별 해설
- 1번 ‘셸에서 작업을 백그라운드로 실행할 수 있다.’는 선택 조건과 다르다. 오답 이유 셸의 작업 제어로 프로세스를 백그라운드에서 실행할 수 있다.
- 2번은 정답 선지다. 정답 근거 UNIX는 여러 프로세스를 병행 스케줄링하는 멀티태스킹 운영체제다.
- 3번 ‘디렉터리가 루트에서 시작하는 계층적 트리를 이룬다.’는 선택 조건과 다르다. 오답 이유 파일과 디렉터리는 루트 / 아래 계층 구조를 이룬다.
- 4번 ‘주요 부분이 고급 언어로 작성되어 이식성이 높다.’는 선택 조건과 다르다. 오답 이유 하드웨어 의존 부분을 제외한 많은 코드가 C로 작성되어 이식에 유리하다.
정답 판정: 정답 판정: 정답은 2번이다. UNIX는 멀티유저와 멀티태스킹을 모두 지원한다. 한 시점에 하나의 작업만 실행한다는 ②가 틀리다. 검증 기준: 여러 사용자는 지원하지만 한 시점에 하나의 작업만 실행한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 68 판정 근거: 정답은 2번이다. UNIX는 멀티유저와 멀티태스킹을 모두 지원한다. 한 시점에 하나의 작업만 실행한다는 ②가 틀리다.
- The Open Group Base Specifications — Shell Command Language
확인 위치: POSIX Shell — file creation modes and umask
판정 연결: 문항 68 판정 근거: 정답은 2번이다. UNIX는 멀티유저와 멀티태스킹을 모두 지원한다. 한 시점에 하나의 작업만 실행한다는 ②가 틀리다.
69. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 3개의 보관 구조를 가지는 주기억장치가 있으며, 다음 순서로 페이지 참조가 발생할 때 FIFO 페이지 교체 알고리즘을 사용할 경우 마지막 페이지 값으로 타당한 설명을 고르면? 페이지 순서: 1, 2, 3, 2, 4, 2, 3, 1, 3
- 4, 1, 3
- 1, 2, 3
- 1, 4, 2
- 4, 2, 3
정답과 해설 보기
정답: 1
정답은 1번이다. 세 프레임에 1·2·3이 들어간 뒤 2와 3의 재참조는 교체를 일으키지 않습니다. 4가 들어올 때 가장 오래된 1이 빠지고, 다음 1이 들어올 때 가장 오래된 2가 빠집니다. 마지막 3은 이미 있으므로 최종 프레임은 4·1·3입니다.
선지별 해설
- 1번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 2번 ‘1, 2, 3’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번 ‘1, 4, 2’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번 ‘4, 2, 3’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 1번이다. 세 프레임에 1·2·3이 들어간 뒤 2와 3의 재참조는 교체를 일으키지 않습니다. 4가 들어올 때 가장 오래된 1이 빠지고, 다음 1이 들어올 때 가장 오래된 2가 빠집니다. 마지막 3은 이미 있으므로 최종 프레임은 4·1·3입니다. 검증 기준: 4, 1, 3의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 69 판정 근거: 정답은 1번이다. 세 프레임에 1·2·3이 들어간 뒤 2와 3의 재참조는 교체를 일으키지 않습니다. 4가 들어올 때 가장 오래된 1이 빠지고, 다음 1이 들어올 때 가장 오래된 2가 빠집니다. 마지막 3은 이미 있으므로 최종 프레임은 4·1·3입니다.
독립 계산·실행 추적: FIFO를 추적한 마지막 프레임은 4,1,3이다.
- SWEBOK Software Engineering Operations
확인 위치: SWEBOK — computing foundations and operating-system concepts
판정 연결: 문항 69 판정 근거: 정답은 1번이다. 세 프레임에 1·2·3이 들어간 뒤 2와 3의 재참조는 교체를 일으키지 않습니다. 4가 들어올 때 가장 오래된 1이 빠지고, 다음 1이 들어올 때 가장 오래된 2가 빠집니다. 마지막 3은 이미 있으므로 최종 프레임은 4·1·3입니다.
70. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. TCP가 응용 데이터에 헤더를 붙여 IP에 넘기는 프로토콜 데이터 단위(PDU)를 가리키는 용어는?
- 세그먼트(Segment)
- 메시지(Message)
- 프레임(Frame)
- 데이터그램(Datagram)
정답과 해설 보기
정답: 1
정답은 1번이다. TCP는 트랜스포트 계층에서 응용의 바이트 스트림을 TCP 세그먼트로 구성해 IP에 전달한다. 프레임은 링크 계층, IP 데이터그램은 인터넷 계층의 단위이므로 ③ 세그먼트가 맞다.
선지별 해설
- 1번은 정답 선지다. 정답 근거 TCP 헤더와 데이터로 구성되어 IP에 실리는 전송 단위를 TCP 세그먼트라고 한다.
- 2번 ‘메시지(Message)’는 선택 조건과 다르다. 오답 이유 메시지는 응용 수준의 일반 표현으로 TCP PDU의 구체적인 명칭이 아니다.
- 3번 ‘프레임(Frame)’는 선택 조건과 다르다. 오답 이유 프레임은 이더넷 같은 링크 계층에서 사용하는 전송 단위다.
- 4번 ‘데이터그램(Datagram)’는 선택 조건과 다르다. 오답 이유 데이터그램은 주로 IP 또는 연결 없는 전송에서 쓰이는 표현이며 TCP 헤더가 붙은 단위의 정식 명칭은 세그먼트다.
정답 판정: 정답 판정: 정답은 1번이다. TCP는 트랜스포트 계층에서 응용의 바이트 스트림을 TCP 세그먼트로 구성해 IP에 전달한다. 프레임은 링크 계층, IP 데이터그램은 인터넷 계층의 단위이므로 ③ 세그먼트가 맞다. 검증 기준: 세그먼트(Segment)의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 70 판정 근거: 정답은 1번이다. TCP는 트랜스포트 계층에서 응용의 바이트 스트림을 TCP 세그먼트로 구성해 IP에 전달한다. 프레임은 링크 계층, IP 데이터그램은 인터넷 계층의 단위이므로 ③ 세그먼트가 맞다.
- RFC 9293 Transmission Control Protocol
확인 위치: RFC 9293 — TCP segments, header fields and checksum
판정 연결: 문항 70 판정 근거: 정답은 1번이다. TCP는 트랜스포트 계층에서 응용의 바이트 스트림을 TCP 세그먼트로 구성해 IP에 전달한다. 프레임은 링크 계층, IP 데이터그램은 인터넷 계층의 단위이므로 ③ 세그먼트가 맞다.
71. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. IPv4 주소 192.168.10.130/26이 속한 네트워크 주소는?
- 192.168.10.192
- 192.168.10.128
- 192.168.10.0
- 192.168.10.64
정답과 해설 보기
정답: 2
정답은 2번이다. /26의 블록 크기는 64이므로 마지막 옥텟의 네트워크 구간은 0, 64, 128, 192에서 시작한다. 130은 128~191 구간에 속하므로 네트워크 주소는 192.168.10.128이다.
선지별 해설
- 1번 ‘192.168.10.192’는 선택 조건과 다르다. 오답 이유 192.168.10.192는 마지막 옥텟 192~255 구간의 네트워크 주소다.
- 2번은 정답 선지다. 정답 근거 130은 /26의 128~191 구간에 속하므로 네트워크 주소가 192.168.10.128이다.
- 3번 ‘192.168.10.0’는 선택 조건과 다르다. 오답 이유 192.168.10.0은 마지막 옥텟 0~63 구간의 네트워크 주소다.
- 4번 ‘192.168.10.64’는 선택 조건과 다르다. 오답 이유 192.168.10.64는 마지막 옥텟 64~127 구간의 네트워크 주소다.
정답 판정: 정답 판정: 정답은 2번이다. /26의 블록 크기는 64이므로 마지막 옥텟의 네트워크 구간은 0, 64, 128, 192에서 시작한다. 130은 128~191 구간에 속하므로 네트워크 주소는 192.168.10.128이다. 검증 기준: 192.168.10.128의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 71 판정 근거: 정답은 2번이다. /26의 블록 크기는 64이므로 마지막 옥텟의 네트워크 구간은 0, 64, 128, 192에서 시작한다. 130은 128~191 구간에 속하므로 네트워크 주소는 192.168.10.128이다.
독립 계산·실행 추적: /26 블록 크기는 64이므로 .130은 .128 네트워크에 속한다.
- IETF RFC 4632 — CIDR
확인 위치: RFC 4632 — CIDR prefixes and subnet address blocks
판정 연결: 문항 71 판정 근거: 정답은 2번이다. /26의 블록 크기는 64이므로 마지막 옥텟의 네트워크 구간은 0, 64, 128, 192에서 시작한다. 130은 128~191 구간에 속하므로 네트워크 주소는 192.168.10.128이다. - IETF RFC 791 — Internet Protocol
확인 위치: RFC 791 — IPv4 addressing
판정 연결: 문항 71 판정 근거: 정답은 2번이다. /26의 블록 크기는 64이므로 마지막 옥텟의 네트워크 구간은 0, 64, 128, 192에서 시작한다. 130은 128~191 구간에 속하므로 네트워크 주소는 192.168.10.128이다.
72. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 다음 Java 프로그램이 실행되었을 때의 결과는? public class ovr { public static void main(String[] args) { int a = 1, b = 2, c = 3, d = 4; int mx, mn; mx = a < b ? b : a; if (mx == 1) mn = a > mx ? b : a; else mn = b < mx ? d : c; System.out.println(mn); } }
- 1
- 2
- 3
- 4
정답과 해설 보기
정답: 3
정답은 3번이다. mx는 2가 되어 else가 실행되고, b < mx는 2 < 2로 거짓이므로 mn에는 c의 값 3이 저장된다.
선지별 해설
- 1번 ‘1’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번 ‘2’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 4번 ‘4’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 3번이다. mx는 2가 되어 else가 실행되고, b < mx는 2 < 2로 거짓이므로 mn에는 c의 값 3이 저장된다. 검증 기준: 3의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 72 판정 근거: 정답은 3번이다. mx는 2가 되어 else가 실행되고, b < mx는 2 < 2로 거짓이므로 mn에는 c의 값 3이 저장된다.
독립 계산·실행 추적: mx=2이고 else에서 mn=3이 되어 3을 출력한다.
- Oracle Java Language Specification
확인 위치: Java Language Specification — arrays, exceptions, access and overriding
판정 연결: 문항 72 판정 근거: 정답은 3번이다. mx는 2가 되어 else가 실행되고, b < mx는 2 < 2로 거짓이므로 mn에는 c의 값 3이 저장된다.
73. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 빈 공간이 8KB, 17KB, 11KB, 24KB이고 10KB 프로세스를 Worst Fit으로 배치한다. 선택되는 공간은?
- 17KB 공간
- 11KB 공간
- 24KB 공간
- 8KB 공간
정답과 해설 보기
정답: 3
정답은 3번이다. Worst Fit은 요청을 수용할 수 있는 가장 큰 빈 공간을 고른다. 24KB인 ④가 맞다.
선지별 해설
- 1번 ‘17KB 공간’는 선택 조건과 다르다. 오답 이유 17KB는 요청을 수용하지만 가능한 공간 중 가장 크지 않다.
- 2번 ‘11KB 공간’는 선택 조건과 다르다. 오답 이유 11KB는 잔여 공간이 가장 작아 Best Fit이 선택할 후보에 가깝다.
- 3번은 정답 선지다. 정답 근거 24KB는 요청을 수용하는 공간 중 가장 커서 Worst Fit이 선택한다.
- 4번 ‘8KB 공간’는 선택 조건과 다르다. 오답 이유 8KB는 10KB 요청을 수용하지 못한다.
정답 판정: 정답 판정: 정답은 3번이다. Worst Fit은 요청을 수용할 수 있는 가장 큰 빈 공간을 고른다. 24KB인 ④가 맞다. 검증 기준: 24KB 공간의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 73 판정 근거: 정답은 3번이다. Worst Fit은 요청을 수용할 수 있는 가장 큰 빈 공간을 고른다. 24KB인 ④가 맞다.
독립 계산·실행 추적: Worst Fit은 가장 큰 24KB 공간을 고른다.
- SWEBOK Software Engineering Operations
확인 위치: SWEBOK — computing foundations and operating-system concepts
판정 연결: 문항 73 판정 근거: 정답은 3번이다. Worst Fit은 요청을 수용할 수 있는 가장 큰 빈 공간을 고른다. 24KB인 ④가 맞다.
74. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 빈 프레임 3개에 페이지 참조 1, 2, 3, 4, 1, 2, 5가 차례로 들어온다. FIFO의 전체 페이지 부재 횟수는? 프레임 적재 순서는 재참조로 바뀌지 않는다고 가정한다.
- 6회
- 7회
- 4회
- 5회
정답과 해설 보기
정답: 2
정답은 2번이다. 처음 1,2,3에서 3회, 4가 1을 교체하며 1회, 이어 1이 2를, 2가 3을, 5가 4를 교체하며 각각 1회씩 발생한다.
선지별 해설
- 1번 ‘6회’는 선택 조건과 다르다. 오답 이유 6회는 참조열의 한 항목이 적중한다고 잘못 가정한 값이지만 실제로는 모두 부재다.
- 2번은 정답 선지다. 정답 근거 각 참조에서 요청 페이지가 현재 프레임에 없으므로 일곱 번 모두 페이지 부재가 발생한다.
- 3번 ‘4회’는 선택 조건과 다르다. 오답 이유 4회는 1,2,3,4까지만 센 값으로 뒤의 1,2,5 부재 세 번을 누락했다.
- 4번 ‘5회’는 선택 조건과 다르다. 오답 이유 5회는 뒤쪽 연속 교체 중 두 번을 누락해 전체 참조열을 반영하지 못한다.
정답 판정: 정답 판정: 정답은 2번이다. 처음 1,2,3에서 3회, 4가 1을 교체하며 1회, 이어 1이 2를, 2가 3을, 5가 4를 교체하며 각각 1회씩 발생한다. 검증 기준: 7회의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 74 판정 근거: 정답은 2번이다. 처음 1,2,3에서 3회, 4가 1을 교체하며 1회, 이어 1이 2를, 2가 3을, 5가 4를 교체하며 각각 1회씩 발생한다.
독립 계산·실행 추적: 참조열의 7회가 모두 당시 프레임에 없어 부재는 7회다.
- SWEBOK Software Engineering Operations
확인 위치: SWEBOK — computing foundations and operating-system concepts
판정 연결: 문항 74 판정 근거: 정답은 2번이다. 처음 1,2,3에서 3회, 4가 1을 교체하며 1회, 이어 1이 2를, 2가 3을, 5가 4를 교체하며 각각 1회씩 발생한다.
75. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 다음 Python 반복문 코드의 출력 결과를 고르면? while True: print('A') print('B') print('C') continue print('D')
- A, B, C, D가 한 번만 출력된다.
- A, B, C 출력이 반복된다.
- A, B, C가 한 번만 출력된다.
- A, B, C, D 출력이 반복된다.
정답과 해설 보기
정답: 2
정답은 2번이다. 무한 반복문에서 continue 이후의 print('D')는 실행되지 않으므로 A, B, C만 반복 출력됩니다. 이 과정을 완료하면 ‘A, B, C 출력이 반복된다.’이 남으므로 ‘A, B, C가 한 번만 출력된다.’과 구분됩니다.
선지별 해설
- 1번 ‘A, B, C, D가 한 번만 출력된다.’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 3번 ‘A, B, C가 한 번만 출력된다.’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번 ‘A, B, C, D 출력이 반복된다.’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 2번이다. 무한 반복문에서 continue 이후의 print('D')는 실행되지 않으므로 A, B, C만 반복 출력됩니다. 이 과정을 완료하면 ‘A, B, C 출력이 반복된다.’이 남으므로 ‘A, B, C가 한 번만 출력된다.’과 구분됩니다. 검증 기준: A, B, C 출력이 반복된다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 75 판정 근거: 정답은 2번이다. 무한 반복문에서 continue 이후의 print('D')는 실행되지 않으므로 A, B, C만 반복 출력됩니다. 이 과정을 완료하면 ‘A, B, C 출력이 반복된다.’이 남으므로 ‘A, B, C가 한 번만 출력된다.’과 구분됩니다.
독립 계산·실행 추적: continue 때문에 D에는 도달하지 않고 A,B,C가 반복된다.
- Python Standard Types
확인 위치: Python language reference — sequences, slicing, range and tuple
판정 연결: 문항 75 판정 근거: 정답은 2번이다. 무한 반복문에서 continue 이후의 print('D')는 실행되지 않으므로 A, B, C만 반복 출력됩니다. 이 과정을 완료하면 ‘A, B, C 출력이 반복된다.’이 남으므로 ‘A, B, C가 한 번만 출력된다.’과 구분됩니다.
76. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. C에서 다음 연산자를 우선순위가 높은 것부터 낮은 것 순서로 나열한 것은? ㉠ ( ) ㉡ == ㉢ < ㉣ << ㉤ || ㉥ *
- ㉠, ㉥, ㉣, ㉢, ㉡, ㉤
- ㉠, ㉢, ㉥, ㉣, ㉡, ㉤
- ㉥, ㉠, ㉢, ㉡, ㉣, ㉤
- ㉠, ㉥, ㉢, ㉣, ㉤, ㉡
정답과 해설 보기
정답: 1
정답은 1번이다. 괄호로 묶인 식이 먼저 평가되고, 제시된 이항 연산자 사이에서는 곱셈, 시프트, 관계, 동등, 논리 OR 순으로 우선순위가 낮아진다. 따라서 ㉠→㉥→㉣→㉢→㉡→㉤인 ①이 정답으로 판정된다.
선지별 해설
- 1번은 정답 선지다. 정답 근거 괄호, 곱셈, 시프트, 관계, 동등, 논리 OR의 순서를 모두 지켰다.
- 2번 ‘㉠, ㉢, ㉥, ㉣, ㉡, ㉤’는 선택 조건과 다르다. 오답 이유 관계 연산자 <를 곱셈과 시프트보다 앞에 두어 우선순위가 잘못됐다.
- 3번 ‘㉥, ㉠, ㉢, ㉡, ㉣, ㉤’는 선택 조건과 다르다. 오답 이유 괄호로 명시한 그룹보다 곱셈을 먼저 두었고 관계·시프트 순서도 바뀌었다.
- 4번 ‘㉠, ㉥, ㉢, ㉣, ㉤, ㉡’는 선택 조건과 다르다. 오답 이유 관계 연산자 <는 시프트 <<보다 우선순위가 낮고, 동등 ==는 논리 OR보다 높다.
정답 판정: 정답 판정: 정답은 1번이다. 괄호로 묶인 식이 먼저 평가되고, 제시된 이항 연산자 사이에서는 곱셈, 시프트, 관계, 동등, 논리 OR 순으로 우선순위가 낮아진다. 따라서 ㉠→㉥→㉣→㉢→㉡→㉤인 ①이 정답으로 판정된다. 검증 기준: ㉠, ㉥, ㉣, ㉢, ㉡, ㉤의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 76 판정 근거: 정답은 1번이다. 괄호로 묶인 식이 먼저 평가되고, 제시된 이항 연산자 사이에서는 곱셈, 시프트, 관계, 동등, 논리 OR 순으로 우선순위가 낮아진다. 따라서 ㉠→㉥→㉣→㉢→㉡→㉤인 ①이 정답으로 판정된다.
독립 계산·실행 추적: 괄호→곱셈→시프트→관계→동등→논리합 순이다.
- ISO C committee draft N1570
확인 위치: ISO C N1570 — operators, arrays, pointers and library functions
판정 연결: 문항 76 판정 근거: 정답은 1번이다. 괄호로 묶인 식이 먼저 평가되고, 제시된 이항 연산자 사이에서는 곱셈, 시프트, 관계, 동등, 논리 OR 순으로 우선순위가 낮아진다. 따라서 ㉠→㉥→㉣→㉢→㉡→㉤인 ①이 정답으로 판정된다.
77. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 시스템을 더 작은 모듈로 분리할 때 나타나는 변화에 대한 기술로 적절하지 않은 설명을 고르면?
- 모듈 수가 늘면 각 모듈은 항상 커지고 모듈 간 인터페이스 수는 자동으로 줄어든다.
- 적절한 모듈화는 복잡한 문제를 책임 단위로 나누게 한다.
- 낮은 결합도와 높은 응집도는 유지보수에 유리하다.
- 모듈은 함수·서브루틴·패키지 등으로 표현할 수 있다.
정답과 해설 보기
정답: 1
정답은 1번이다. 모듈을 세분화하면 일반적으로 각 모듈의 크기는 작아지고 모듈 사이 인터페이스와 관리 비용은 늘 수 있다. 모듈 수가 늘면 항상 커지고 인터페이스가 줄어든다는 설명이 틀리다.
선지별 해설
- 1번은 정답 선지다. 정답 근거 세분화는 모듈 크기를 줄이는 대신 상호작용 관리 비용을 늘릴 수 있다.
- 2번 ‘적절한 모듈화는 복잡한 문제를 책임 단위로 나누게 한다.’는 선택 조건과 다르다. 오답 이유 책임 분리는 복잡도를 국소화한다.
- 3번 ‘낮은 결합도와 높은 응집도는 유지보수에 유리하다.’는 선택 조건과 다르다. 오답 이유 응집도와 결합도는 모듈 경계의 품질을 판단하는 핵심 기준이다.
- 4번 ‘모듈은 함수·서브루틴·패키지 등으로 표현할 수 있다.’는 선택 조건과 다르다. 오답 이유 프로그래밍 언어의 함수와 패키지는 모듈화 수단이 될 수 있다.
정답 판정: 정답 판정: 정답은 1번이다. 모듈을 세분화하면 일반적으로 각 모듈의 크기는 작아지고 모듈 사이 인터페이스와 관리 비용은 늘 수 있다. 모듈 수가 늘면 항상 커지고 인터페이스가 줄어든다는 설명이 틀리다. 검증 기준: 모듈 수가 늘면 각 모듈은 항상 커지고 모듈 간 인터페이스 수는 자동으로 줄어든다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 77 판정 근거: 정답은 1번이다. 모듈을 세분화하면 일반적으로 각 모듈의 크기는 작아지고 모듈 사이 인터페이스와 관리 비용은 늘 수 있다. 모듈 수가 늘면 항상 커지고 인터페이스가 줄어든다는 설명이 틀리다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: SWEBOK V4 — relevant knowledge area definition and practice
판정 연결: 문항 77 판정 근거: 정답은 1번이다. 모듈을 세분화하면 일반적으로 각 모듈의 크기는 작아지고 모듈 사이 인터페이스와 관리 비용은 늘 수 있다. 모듈 수가 늘면 항상 커지고 인터페이스가 줄어든다는 설명이 틀리다.
78. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 192.168.3.64/27 네트워크의 사용 가능한 호스트 주소 범위는?
- 192.168.3.65 ~ 192.168.3.94
- 192.168.3.66 ~ 192.168.3.93
- 192.168.3.64 ~ 192.168.3.95
- 192.168.3.65 ~ 192.168.3.95
정답과 해설 보기
정답: 1
정답은 1번이다. /27 블록 크기는 32로 네트워크 주소 64와 브로드캐스트 95를 제외하면 65~94다. 반면 “192.168.3.66 ~ 192.168.3.93”은 65와 94도 정상 호스트 주소이므로 제외할 이유가 없다.
선지별 해설
- 1번은 정답 선지다. 정답 근거 /27 블록 크기는 32로 네트워크 주소 64와 브로드캐스트 95를 제외하면 65~94다.
- 2번 ‘192.168.3.66 ~ 192.168.3.93’는 선택 조건과 다르다. 오답 이유 65와 94도 정상 호스트 주소이므로 제외할 이유가 없다.
- 3번 ‘192.168.3.64 ~ 192.168.3.95’는 선택 조건과 다르다. 오답 이유 64와 95는 각각 네트워크·브로드캐스트 주소라 호스트에 할당할 수 없다.
- 4번 ‘192.168.3.65 ~ 192.168.3.95’는 선택 조건과 다르다. 오답 이유 95는 브로드캐스트 주소이므로 범위 끝에 포함할 수 없다.
정답 판정: 정답 판정: 정답은 1번이다. /27 블록 크기는 32로 네트워크 주소 64와 브로드캐스트 95를 제외하면 65~94다. 반면 “192.168.3.66 ~ 192.168.3.93”은 65와 94도 정상 호스트 주소이므로 제외할 이유가 없다. 검증 기준: 192.168.3.65 ~ 192.168.3.94의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 78 판정 근거: 정답은 1번이다. /27 블록 크기는 32로 네트워크 주소 64와 브로드캐스트 95를 제외하면 65~94다. 반면 “192.168.3.66 ~ 192.168.3.93”은 65와 94도 정상 호스트 주소이므로 제외할 이유가 없다.
독립 계산·실행 추적: /27 범위 .64~.95에서 네트워크와 브로드캐스트를 빼면 .65~.94다.
- IETF RFC 4632 — CIDR
확인 위치: RFC 4632 — CIDR prefixes and subnet address blocks
판정 연결: 문항 78 판정 근거: 정답은 1번이다. /27 블록 크기는 32로 네트워크 주소 64와 브로드캐스트 95를 제외하면 65~94다. 반면 “192.168.3.66 ~ 192.168.3.93”은 65와 94도 정상 호스트 주소이므로 제외할 이유가 없다.
79. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. int형이 4바이트이고 배열 a의 첫 원소 주소를 10이라고 할 때, &a[2]와 a가 나타내는 주소를 순서대로 쓴 것은? int a[] = {14, 22, 30, 38};
- 18, 18
- 14, 10
- 14, 18
- 18, 10
정답과 해설 보기
정답: 4
정답은 4번이다. 배열 원소의 주소는 시작 주소에 인덱스 × 원소 크기를 더해 계산한다. 따라서 &a[2]는 10 + 2×4 = 18이고, 식에서 배열 이름 a는 첫 원소 &a[0]의 주소 10으로 변환된다.
선지별 해설
- 1번 ‘18, 18’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번 ‘14, 10’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번 ‘14, 18’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
정답 판정: 정답 판정: 정답은 4번이다. 배열 원소의 주소는 시작 주소에 인덱스 × 원소 크기를 더해 계산한다. 따라서 &a[2]는 10 + 2×4 = 18이고, 식에서 배열 이름 a는 첫 원소 &a[0]의 주소 10으로 변환된다. 검증 기준: 18, 10의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 79 판정 근거: 정답은 4번이다. 배열 원소의 주소는 시작 주소에 인덱스 × 원소 크기를 더해 계산한다. 따라서 &a[2]는 10 + 2×4 = 18이고, 식에서 배열 이름 a는 첫 원소 &a[0]의 주소 10으로 변환된다.
독립 계산·실행 추적: int 4바이트이므로 &a[2]=18이고 a=10이다.
- ISO C committee draft N1570
확인 위치: ISO C N1570 — operators, arrays, pointers and library functions
판정 연결: 문항 79 판정 근거: 정답은 4번이다. 배열 원소의 주소는 시작 주소에 인덱스 × 원소 크기를 더해 계산한다. 따라서 &a[2]는 10 + 2×4 = 18이고, 식에서 배열 이름 a는 첫 원소 &a[0]의 주소 10으로 변환된다.
80. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. C 언어 라이브러리 중 stdlib.h에 대한 기술로 타당한 설명을 고르면?
- 문자열을 수치 데이터로 바꾸는 문자 변환 함수와 수치를 문자열로 바꾸는 변환 함수 등이 있다.
- 문자의 처리 함수로 strlen()이 포함되어 있다.
- 표준 입출력 라이브러리이다.
- 삼각 함수, 제곱근, 지수 등 수학적인 함수를 내장하고 있다.
정답과 해설 보기
정답: 1
정답은 1번이다. stdlib.h는 atoi, strtol, strtod처럼 문자열을 정수나 실수로 해석하는 변환 함수와 메모리 관리·난수 등 일반 유틸리티 함수를 선언한다. 반면 strlen은 string.h, printf 같은 표준 입출력 함수는 stdio.h, sin·sqrt 같은 수학 함수는 math.h에 선언되므로 문자·수치 변환을 설명한 ①이 타당하다.
선지별 해설
- 1번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 2번 ‘문자의 처리 함수로 strlen()이 포함되어 있다.’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번 ‘표준 입출력 라이브러리이다.’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번 ‘삼각 함수, 제곱근, 지수 등 수학적인 함수를 내장하고 있다.’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 1번이다. stdlib.h는 atoi, strtol, strtod처럼 문자열을 정수나 실수로 해석하는 변환 함수와 메모리 관리·난수 등 일반 유틸리티 함수를 선언한다. 반면 strlen은 string.h, printf 같은 표준 입출력 함수는 stdio.h, sin·sqrt 같은 수학 함수는 math.h에 선언되므로 문자·수치 변환을 설명한 ①이 타당하다. 검증 기준: 문자열을 수치 데이터로 바꾸는 문자 변환 함수와 수치를 문자열로 바꾸는 변환 함수 등이 있다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 80 판정 근거: 정답은 1번이다. stdlib.h는 atoi, strtol, strtod처럼 문자열을 정수나 실수로 해석하는 변환 함수와 메모리 관리·난수 등 일반 유틸리티 함수를 선언한다. 반면 strlen은 string.h, printf 같은 표준 입출력 함수는 stdio.h, sin·sqrt 같은 수학 함수는 math.h에 선언되므로 문자·수치 변환을 설명한 ①이 타당하다.
- ISO C committee draft N1570
확인 위치: ISO C N1570 — operators, arrays, pointers and library functions
판정 연결: 문항 80 판정 근거: 정답은 1번이다. stdlib.h는 atoi, strtol, strtod처럼 문자열을 정수나 실수로 해석하는 변환 함수와 메모리 관리·난수 등 일반 유틸리티 함수를 선언한다. 반면 strlen은 string.h, printf 같은 표준 입출력 함수는 stdio.h, sin·sqrt 같은 수학 함수는 math.h에 선언되므로 문자·수치 변환을 설명한 ①이 타당하다.
정보처리기사 필기 기출문제 · 정보시스템 구축관리
81. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. TCP/IP 기반 네트워크에서 동작하는 발행-구독 기반의 메시징 프로토콜로 최근 IoT 환경에서 자주 사용되는 프로토콜은?
- MQTT
- Zigbee
- MTSP
- MLFQ
정답과 해설 보기
정답: 1
정답은 1번이다. MQTT는 TCP/IP 위에서 동작하는 경량 발행-구독 메시징 프로토콜입니다. 클라이언트가 토픽에 메시지를 발행하면 브로커가 해당 토픽 구독자에게 전달하므로 대역폭과 전력이 제한된 IoT 환경에 적합합니다.
선지별 해설
- 1번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 2번 ‘Zigbee’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번 ‘MTSP’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번 ‘MLFQ’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 1번이다. MQTT는 TCP/IP 위에서 동작하는 경량 발행-구독 메시징 프로토콜입니다. 클라이언트가 토픽에 메시지를 발행하면 브로커가 해당 토픽 구독자에게 전달하므로 대역폭과 전력이 제한된 IoT 환경에 적합합니다. 검증 기준: MQTT의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 81 판정 근거: 정답은 1번이다. MQTT는 TCP/IP 위에서 동작하는 경량 발행-구독 메시징 프로토콜입니다. 클라이언트가 토픽에 메시지를 발행하면 브로커가 해당 토픽 구독자에게 전달하므로 대역폭과 전력이 제한된 IoT 환경에 적합합니다.
- OASIS MQTT Version 5.0
확인 위치: MQTT specification — lightweight publish and subscribe messaging
판정 연결: 문항 81 판정 근거: 정답은 1번이다. MQTT는 TCP/IP 위에서 동작하는 경량 발행-구독 메시징 프로토콜입니다. 클라이언트가 토픽에 메시지를 발행하면 브로커가 해당 토픽 구독자에게 전달하므로 대역폭과 전력이 제한된 IoT 환경에 적합합니다.
82. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. COCOMO Model 중 기관 내부에서 개발된 중·소규모의 소프트웨어로 일괄 자료 처리나 과학기술 계산용, 비즈니스 자료 처리용으로 5만 라인 이하의 소프트웨어를 개발하는 유형은?
- Semi-Detached
- Semi-Embedded
- Embedded
- Organic
정답과 해설 보기
정답: 4
정답은 4번이다. COCOMO의 Organic 유형은 경험 있는 소규모 팀이 익숙한 환경에서 비교적 단순한 중소 규모 소프트웨어를 개발하는 경우입니다. 5만 라인 이하의 업무·과학 계산 프로그램이라는 조건에 해당합니다.
선지별 해설
- 1번 ‘Semi-Detached’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번 ‘Semi-Embedded’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번 ‘Embedded’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
정답 판정: 정답 판정: 정답은 4번이다. COCOMO의 Organic 유형은 경험 있는 소규모 팀이 익숙한 환경에서 비교적 단순한 중소 규모 소프트웨어를 개발하는 경우입니다. 5만 라인 이하의 업무·과학 계산 프로그램이라는 조건에 해당합니다. 검증 기준: Organic의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 82 판정 근거: 정답은 4번이다. COCOMO의 Organic 유형은 경험 있는 소규모 팀이 익숙한 환경에서 비교적 단순한 중소 규모 소프트웨어를 개발하는 경우입니다. 5만 라인 이하의 업무·과학 계산 프로그램이라는 조건에 해당합니다.
- NASA — COCOMO model reference
확인 위치: NASA software cost estimation handbook — COCOMO project modes
판정 연결: 문항 82 판정 근거: 정답은 4번이다. COCOMO의 Organic 유형은 경험 있는 소규모 팀이 익숙한 환경에서 비교적 단순한 중소 규모 소프트웨어를 개발하는 경우입니다. 5만 라인 이하의 업무·과학 계산 프로그램이라는 조건에 해당합니다.
83. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. IP 또는 ICMP의 특성을 악용하여 특정 사이트에 집중적으로 데이터를 보내 네트워크 또는 시스템의 상태를 불능으로 만드는 공격 방법은?
- Smurfing
- TearDrop
- Smishing
- Qshing
정답과 해설 보기
정답: 1
정답은 1번이다. Smurf 공격은 피해자의 주소로 위조한 ICMP Echo Request를 브로드캐스트 주소로 보내 다수의 Echo Reply가 피해자에게 집중되게 하는 서비스 거부 공격입니다.
선지별 해설
- 1번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 2번 ‘TearDrop’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번 ‘Smishing’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번 ‘Qshing’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 1번이다. Smurf 공격은 피해자의 주소로 위조한 ICMP Echo Request를 브로드캐스트 주소로 보내 다수의 Echo Reply가 피해자에게 집중되게 하는 서비스 거부 공격입니다. 검증 기준: Smurfing의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 83 판정 근거: 정답은 1번이다. Smurf 공격은 피해자의 주소로 위조한 ICMP Echo Request를 브로드캐스트 주소로 보내 다수의 Echo Reply가 피해자에게 집중되게 하는 서비스 거부 공격입니다.
- IETF RFC 2644 — Smurf attack background
확인 위치: CISA security guidance — Smurf distributed denial-of-service amplification
판정 연결: 문항 83 판정 근거: 정답은 1번이다. Smurf 공격은 피해자의 주소로 위조한 ICMP Echo Request를 브로드캐스트 주소로 보내 다수의 Echo Reply가 피해자에게 집중되게 하는 서비스 거부 공격입니다.
84. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 기능 점수(Functional point) 모형에서 비용 산정에 이용되는 요소가 해당하지 않는 것을 고르면?
- 클래스 인터페이스
- 명령어 (사용자 질의수)
- 데이터 파일
- 출력 보고서
정답과 해설 보기
정답: 1
정답은 1번이다. 기능점수는 외부 입력, 외부 출력, 외부 조회, 내부 논리 파일, 외부 연계 파일의 수와 복잡도를 평가합니다. 클래스 인터페이스 수는 표준 기능점수 요소가 아닙니다.
선지별 해설
- 1번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 2번 ‘명령어 (사용자 질의수)’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번 ‘데이터 파일’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번 ‘출력 보고서’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 1번이다. 기능점수는 외부 입력, 외부 출력, 외부 조회, 내부 논리 파일, 외부 연계 파일의 수와 복잡도를 평가합니다. 클래스 인터페이스 수는 표준 기능점수 요소가 아닙니다. 검증 기준: 클래스 인터페이스의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 84 판정 근거: 정답은 1번이다. 기능점수는 외부 입력, 외부 출력, 외부 조회, 내부 논리 파일, 외부 연계 파일의 수와 복잡도를 평가합니다. 클래스 인터페이스 수는 표준 기능점수 요소가 아닙니다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: SWEBOK V4 — relevant knowledge area definition and practice
판정 연결: 문항 84 판정 근거: 정답은 1번이다. 기능점수는 외부 입력, 외부 출력, 외부 조회, 내부 논리 파일, 외부 연계 파일의 수와 복잡도를 평가합니다. 클래스 인터페이스 수는 표준 기능점수 요소가 아닙니다.
85. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 다음 내용이 설명하는 스토리지 시스템은? 하드디스크와 같은 데이터 저장장치를 호스트버스 어댑 터에 직접 연결하는 방식 저장장치와 호스트 기기 사이에 네트워크 디바이스가 있지 말아야 하고 직접 연결하는 방식으로 구성
- NAS
- N-SCREEN
- NFC
- DAS
정답과 해설 보기
정답: 4
정답은 4번이다. DAS(Direct Attached Storage)는 저장장치를 서버나 컴퓨터에 케이블로 직접 연결하는 방식입니다. 네트워크 파일 공유 방식인 NAS와 달리 호스트에 직접 연결된다는 지문에 해당합니다.
선지별 해설
- 1번 ‘NAS’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번 ‘N-SCREEN’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번 ‘NFC’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
정답 판정: 정답 판정: 정답은 4번이다. DAS(Direct Attached Storage)는 저장장치를 서버나 컴퓨터에 케이블로 직접 연결하는 방식입니다. 네트워크 파일 공유 방식인 NAS와 달리 호스트에 직접 연결된다는 지문에 해당합니다. 검증 기준: DAS의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 85 판정 근거: 정답은 4번이다. DAS(Direct Attached Storage)는 저장장치를 서버나 컴퓨터에 케이블로 직접 연결하는 방식입니다. 네트워크 파일 공유 방식인 NAS와 달리 호스트에 직접 연결된다는 지문에 해당합니다.
- IBM — Direct-attached storage
확인 위치: IBM DAS definition — storage directly attached to a host
판정 연결: 문항 85 판정 근거: 정답은 4번이다. DAS(Direct Attached Storage)는 저장장치를 서버나 컴퓨터에 케이블로 직접 연결하는 방식입니다. 네트워크 파일 공유 방식인 NAS와 달리 호스트에 직접 연결된다는 지문에 해당합니다.
86. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 다음 암호 알고리즘 중 성격이 다른 하나는?
- SHA-1
- AES
- MD4
- MD5
정답과 해설 보기
정답: 2
정답은 2번이다. AES는 128비트 블록과 128·192·256비트 키를 사용하는 대칭키 블록 암호입니다. MD4, MD5와 SHA-1은 입력을 고정 길이 값으로 바꾸는 해시 함수이므로 블록 암호를 묻는 지문의 정답은 AES입니다.
선지별 해설
- 1번 ‘SHA-1’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 3번 ‘MD4’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번 ‘MD5’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 2번이다. AES는 128비트 블록과 128·192·256비트 키를 사용하는 대칭키 블록 암호입니다. MD4, MD5와 SHA-1은 입력을 고정 길이 값으로 바꾸는 해시 함수이므로 블록 암호를 묻는 지문의 정답은 AES입니다. 검증 기준: AES의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 86 판정 근거: 정답은 2번이다. AES는 128비트 블록과 128·192·256비트 키를 사용하는 대칭키 블록 암호입니다. MD4, MD5와 SHA-1은 입력을 고정 길이 값으로 바꾸는 해시 함수이므로 블록 암호를 묻는 지문의 정답은 AES입니다.
독립 계산·실행 추적: AES는 대칭키 블록 암호이고 나머지 선지는 해시 계열이다.
- NIST FIPS 197 — AES
확인 위치: FIPS 197 — AES symmetric block cipher
판정 연결: 문항 86 판정 근거: 정답은 2번이다. AES는 128비트 블록과 128·192·256비트 키를 사용하는 대칭키 블록 암호입니다. MD4, MD5와 SHA-1은 입력을 고정 길이 값으로 바꾸는 해시 함수이므로 블록 암호를 묻는 지문의 정답은 AES입니다.
87. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 문서 등급이 기밀이고 사용자의 인가 등급이 비밀일 때 읽기를 금지하며, 높은 등급의 사용자가 낮은 등급 문서에 정보를 쓰는 것도 금지한다. 기밀성 보호를 위해 '상향 읽기 금지, 하향 쓰기 금지' 규칙을 적용하는 모델은?
- Chinese Wall 모델
- Clark-Wilson 무결성 모델
- PDCA 관리 순환
- Bell-LaPadula 모델
정답과 해설 보기
정답: 4
정답은 4번이다. Bell-LaPadula 모델은 보안 등급에 따른 기밀성 보호를 목표로 하며 simple security property(no read up)와 *-property(no write down)를 사용한다. 제시된 두 규칙이 모두 일치하므로 ③이 답이다.
선지별 해설
- 1번 ‘Chinese Wall 모델’는 선택 조건과 다르다. 오답 이유 Chinese Wall은 이해 상충 집단 간 정보 접근을 제한하며 단순 등급 규칙과 목적이 다르다.
- 2번 ‘Clark-Wilson 무결성 모델’는 선택 조건과 다르다. 오답 이유 Clark-Wilson은 잘 형성된 거래와 직무 분리를 통해 상업 환경의 무결성을 보호한다.
- 3번 ‘PDCA 관리 순환’는 선택 조건과 다르다. 오답 이유 PDCA는 계획·실행·점검·조치의 관리 개선 순환으로 다단계 기밀성 접근 모델이 아니다.
- 4번은 정답 선지다. 정답 근거 Bell-LaPadula는 높은 등급 정보가 낮은 등급으로 흐르는 것을 막는 기밀성 모델이다.
정답 판정: 정답 판정: 정답은 4번이다. Bell-LaPadula 모델은 보안 등급에 따른 기밀성 보호를 목표로 하며 simple security property(no read up)와 *-property(no write down)를 사용한다. 제시된 두 규칙이 모두 일치하므로 ③이 답이다. 검증 기준: Bell-LaPadula 모델의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 87 판정 근거: 정답은 4번이다. Bell-LaPadula 모델은 보안 등급에 따른 기밀성 보호를 목표로 하며 simple security property(no read up)와 *-property(no write down)를 사용한다. 제시된 두 규칙이 모두 일치하므로 ③이 답이다.
- NIST CSRC Glossary — mandatory access control
확인 위치: NIST mandatory access control definition
판정 연결: 문항 87 판정 근거: 정답은 4번이다. Bell-LaPadula 모델은 보안 등급에 따른 기밀성 보호를 목표로 하며 simple security property(no read up)와 *-property(no write down)를 사용한다. 제시된 두 규칙이 모두 일치하므로 ③이 답이다.
88. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 검색 API가 사용자 입력을 SQL 문자열에 직접 이어 붙인다. 이 취약점에 대한 기술로 적절하지 않은 설명을 고르면?
- 입력에 SQL 토큰을 넣어 WHERE 조건을 바꾸려는 공격이 가능하다.
- 웹 응용과 DBMS가 만나는 입력 지점에서 발생하기 쉽다.
- DBMS가 달라도 함수·주석·문자열 문법이 완전히 같아 공격 세부 기법은 언제나 동일하다.
- 준비된 문장과 최소 권한 계정은 위험을 낮추는 데 도움이 된다.
정답과 해설 보기
정답: 3
정답은 3번이다. SQL 삽입의 원리는 입력이 쿼리 구조로 해석되는 것이지만 DBMS별 문법과 함수는 다르다. 세부 기법이 언제나 동일하다는 ③이 틀리다.
선지별 해설
- 1번 ‘입력에 SQL 토큰을 넣어 WHERE 조건을 바꾸려는 공격이 가능하다.’는 선택 조건과 다르다. 오답 이유 문자열 결합은 입력을 SQL 코드로 해석하게 만들 수 있다.
- 2번 ‘웹 응용과 DBMS가 만나는 입력 지점에서 발생하기 쉽다.’는 선택 조건과 다르다. 오답 이유 외부 입력이 쿼리에 들어가는 경계는 대표적인 취약 지점이다.
- 3번은 정답 선지다. 정답 근거 SQL 방언·주석·함수 차이 때문에 공격 표현도 달라질 수 있다.
- 4번 ‘준비된 문장과 최소 권한 계정은 위험을 낮추는 데 도움이 된다.’는 선택 조건과 다르다. 오답 이유 매개변수화와 최소 권한은 각각 쿼리 변조와 피해 범위를 줄인다.
정답 판정: 정답 판정: 정답은 3번이다. SQL 삽입의 원리는 입력이 쿼리 구조로 해석되는 것이지만 DBMS별 문법과 함수는 다르다. 세부 기법이 언제나 동일하다는 ③이 틀리다. 검증 기준: DBMS가 달라도 함수·주석·문자열 문법이 완전히 같아 공격 세부 기법은 언제나 동일하다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 88 판정 근거: 정답은 3번이다. SQL 삽입의 원리는 입력이 쿼리 구조로 해석되는 것이지만 DBMS별 문법과 함수는 다르다. 세부 기법이 언제나 동일하다는 ③이 틀리다.
- OWASP — SQL Injection Prevention
확인 위치: OWASP SQL Injection — untrusted input in database commands
판정 연결: 문항 88 판정 근거: 정답은 3번이다. SQL 삽입의 원리는 입력이 쿼리 구조로 해석되는 것이지만 DBMS별 문법과 함수는 다르다. 세부 기법이 언제나 동일하다는 ③이 틀리다.
89. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 보안팀이 실제 고객 데이터가 없는 가짜 SSH 서버를 외부에 노출하고 공격자의 명령, 사용한 계정, 이동 경로를 기록한다. 정상 업무에는 사용하지 않으며 접근 자체를 이상 징후로 본다. 이 시스템은?
- 분산 파일 시스템 Hadoop
- 허니팟(Honeypot)
- 병렬 처리 모델 MapReduce
- 웹 서버 Apache
정답과 해설 보기
정답: 2
정답은 2번이다. 공격자를 유인하기 위해 의도적으로 노출한 미끼 시스템에서 공격 행위를 관찰하는 것은 허니팟이다. 정상 사용자가 접근할 이유가 거의 없으므로 접속 자체가 탐지 신호가 되고 공격 기법 수집에도 활용된다. 따라서 ③이 맞다.
선지별 해설
- 1번 ‘분산 파일 시스템 Hadoop’는 선택 조건과 다르다. 오답 이유 Hadoop은 대용량 데이터를 분산 저장·처리하는 생태계이며 공격 유인 장치가 아니다.
- 2번은 정답 선지다. 정답 근거 허니팟은 가치 있어 보이는 가짜 자원을 제공해 공격을 유도하고 행위를 기록한다.
- 3번 ‘병렬 처리 모델 MapReduce’는 선택 조건과 다르다. 오답 이유 MapReduce는 데이터를 map과 reduce 단계로 병렬 처리하는 계산 모델이다.
- 4번 ‘웹 서버 Apache’는 선택 조건과 다르다. 오답 이유 Apache는 일반 웹 요청을 처리하는 서버로 미끼 시스템이라는 목적을 뜻하지 않는다.
정답 판정: 정답 판정: 정답은 2번이다. 공격자를 유인하기 위해 의도적으로 노출한 미끼 시스템에서 공격 행위를 관찰하는 것은 허니팟이다. 정상 사용자가 접근할 이유가 거의 없으므로 접속 자체가 탐지 신호가 되고 공격 기법 수집에도 활용된다. 따라서 ③이 맞다. 검증 기준: 허니팟(Honeypot)의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 89 판정 근거: 정답은 2번이다. 공격자를 유인하기 위해 의도적으로 노출한 미끼 시스템에서 공격 행위를 관찰하는 것은 허니팟이다. 정상 사용자가 접근할 이유가 거의 없으므로 접속 자체가 탐지 신호가 되고 공격 기법 수집에도 활용된다. 따라서 ③이 맞다.
- NIST CSRC Glossary
확인 위치: NIST glossary — authentication factors and security terms
판정 연결: 문항 89 판정 근거: 정답은 2번이다. 공격자를 유인하기 위해 의도적으로 노출한 미끼 시스템에서 공격 행위를 관찰하는 것은 허니팟이다. 정상 사용자가 접근할 이유가 거의 없으므로 접속 자체가 탐지 신호가 되고 공격 기법 수집에도 활용된다. 따라서 ③이 맞다.
90. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 다음 설명에 해당하는 공격 기법은? 시스템 공격 기법 중 하나로 허용 범위 이상의 ICMP 패킷을 전송하여 대상 시스템의 네트워크를 마비시킨다.
- Piggyback Attack
- XSS
- Ping of Death
- Session Hijacking
정답과 해설 보기
정답: 3
정답은 3번이다. Ping of Death는 정상 허용 크기를 넘도록 조작하거나 비정상적으로 분할한 ICMP Echo 패킷을 보내, 대상이 재조립하는 과정에서 장애를 일으키는 공격이다. 세션 탈취·XSS와 달리 ICMP 패킷 처리 취약점을 악용한다.
선지별 해설
- 1번 ‘Piggyback Attack’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번 ‘XSS’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 4번 ‘Session Hijacking’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 3번이다. Ping of Death는 정상 허용 크기를 넘도록 조작하거나 비정상적으로 분할한 ICMP Echo 패킷을 보내, 대상이 재조립하는 과정에서 장애를 일으키는 공격이다. 세션 탈취·XSS와 달리 ICMP 패킷 처리 취약점을 악용한다. 검증 기준: Ping of Death의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 90 판정 근거: 정답은 3번이다. Ping of Death는 정상 허용 크기를 넘도록 조작하거나 비정상적으로 분할한 ICMP Echo 패킷을 보내, 대상이 재조립하는 과정에서 장애를 일으키는 공격이다. 세션 탈취·XSS와 달리 ICMP 패킷 처리 취약점을 악용한다.
- NIST CSRC Glossary — denial of service
확인 위치: NIST glossary — denial of service resource exhaustion
판정 연결: 문항 90 판정 근거: 정답은 3번이다. Ping of Death는 정상 허용 크기를 넘도록 조작하거나 비정상적으로 분할한 ICMP Echo 패킷을 보내, 대상이 재조립하는 과정에서 장애를 일으키는 공격이다. 세션 탈취·XSS와 달리 ICMP 패킷 처리 취약점을 악용한다.
91. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 네트워크 장비와 역할의 연결로 적절하지 않은 설명을 고르면?
- 라우터 — 논리 주소와 라우팅 표를 이용해 서로 다른 네트워크 사이 패킷을 전달
- 브라우터 — 약해진 물리 신호를 증폭·재생하는 1계층 전용 장비
- 브리지 — MAC 주소를 기준으로 LAN 세그먼트 사이 프레임을 전달
- 2계층 스위치 — 여러 포트에서 MAC 주소표를 이용해 프레임을 교환
정답과 해설 보기
정답: 2
정답은 2번이다. 물리 신호를 재생하는 장비는 리피터다. 브라우터는 브리지와 라우터 기능을 결합한 장비이므로 ①의 연결이 틀리다.
선지별 해설
- 1번 ‘라우터 — 논리 주소와 라우팅 표를 이용해 서로 다른 네트워크 사이 패킷을 전달’는 선택 조건과 다르다. 오답 이유 라우터는 네트워크 계층에서 최적 경로를 선택해 패킷을 전달한다.
- 2번은 정답 선지다. 정답 근거 브라우터는 2·3계층 기능을 결합하며 신호 재생 전용 장비가 아니다.
- 3번 ‘브리지 — MAC 주소를 기준으로 LAN 세그먼트 사이 프레임을 전달’는 선택 조건과 다르다. 오답 이유 브리지는 데이터링크 계층에서 MAC 주소를 보고 프레임을 전달한다.
- 4번 ‘2계층 스위치 — 여러 포트에서 MAC 주소표를 이용해 프레임을 교환’는 선택 조건과 다르다. 오답 이유 2계층 스위치는 다중 포트 브리지처럼 MAC 학습과 전달을 수행한다.
정답 판정: 정답 판정: 정답은 2번이다. 물리 신호를 재생하는 장비는 리피터다. 브라우터는 브리지와 라우터 기능을 결합한 장비이므로 ①의 연결이 틀리다. 검증 기준: 브라우터 — 약해진 물리 신호를 증폭·재생하는 1계층 전용 장비의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 91 판정 근거: 정답은 2번이다. 물리 신호를 재생하는 장비는 리피터다. 브라우터는 브리지와 라우터 기능을 결합한 장비이므로 ①의 연결이 틀리다.
- IETF RFC 1812 — Requirements for IPv4 Routers
확인 위치: RFC 1812 section 2.2.1 — Internet router requirements
판정 연결: 문항 91 판정 근거: 정답은 2번이다. 물리 신호를 재생하는 장비는 리피터다. 브라우터는 브리지와 라우터 기능을 결합한 장비이므로 ①의 연결이 틀리다.
92. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. QoS 1로 배송 상태를 구독하는 서비스가 네트워크 재전송 때문에 같은 eventId의 메시지를 두 번 받았다. 가장 안전한 처리 방법은?
- 두 메시지를 모두 별도 배송 사건으로 반영한다.
- eventId로 처리 이력을 확인해 이미 반영한 사건은 다시 적용하지 않는다.
- 중복을 막기 위해 구독 연결을 매번 종료한다.
- 수신한 모든 메시지를 QoS 0으로 다시 발행한다.
정답과 해설 보기
정답: 2
정답은 2번이다. 처리 이력을 원자적으로 확인하고 같은 eventId의 재적용을 막으면 재전송이 있어도 업무 결과는 한 번만 반영된다.
선지별 해설
- 1번 ‘두 메시지를 모두 별도 배송 사건으로 반영한다.’는 선택 조건과 다르다. 오답 이유 동일 eventId를 두 번 반영하면 재고·배송 상태가 중복 변경될 수 있어 QoS 1 중복 가능성을 처리하지 못한다.
- 2번은 정답 선지다. 정답 근거 처리 이력을 원자적으로 확인하고 같은 eventId의 재적용을 막으면 재전송이 있어도 업무 결과는 한 번만 반영된다.
- 3번 ‘중복을 막기 위해 구독 연결을 매번 종료한다.’는 선택 조건과 다르다. 오답 이유 연결 종료는 메시지 중복의 근본 원인을 해결하지 못하고 정상 메시지 수신까지 방해한다.
- 4번 ‘수신한 모든 메시지를 QoS 0으로 다시 발행한다.’는 선택 조건과 다르다. 오답 이유 다시 QoS 0으로 발행하면 현재 서비스의 중복 반영을 취소하지 못하고 이후 전달 신뢰성만 낮아진다.
정답 판정: 정답 판정: 정답은 2번이다. 처리 이력을 원자적으로 확인하고 같은 eventId의 재적용을 막으면 재전송이 있어도 업무 결과는 한 번만 반영된다. 검증 기준: eventId로 처리 이력을 확인해 이미 반영한 사건은 다시 적용하지 않는다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 92 판정 근거: 정답은 2번이다. 처리 이력을 원자적으로 확인하고 같은 eventId의 재적용을 막으면 재전송이 있어도 업무 결과는 한 번만 반영된다.
독립 계산·실행 추적: QoS 1 중복 수신은 eventId 기반 멱등 처리로 막는다.
- OASIS MQTT Version 5.0
확인 위치: MQTT specification — lightweight publish and subscribe messaging
판정 연결: 문항 92 판정 근거: 정답은 2번이다. 처리 이력을 원자적으로 확인하고 같은 eventId의 재적용을 막으면 재전송이 있어도 업무 결과는 한 번만 반영된다.
93. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 송신자가 자신의 개인키로 전자서명하고 수신자가 송신자의 공개키로 검증할 때 가장 직접적으로 얻는 보안 속성은?
- 기밀성
- 가용성
- 데이터 압축
- 부인 방지
정답과 해설 보기
정답: 4
정답은 4번이다. 개인키로 만든 서명을 공개키로 검증하면 서명 주체와 데이터 무결성을 확인할 수 있어 송신자가 서명 사실을 부인하기 어렵다. 메시지 내용 자체를 숨기는 기밀성은 별도 암호화가 필요하다.
선지별 해설
- 1번 ‘기밀성’는 선택 조건과 다르다. 오답 이유 전자서명만으로 메시지 내용이 암호화되지는 않는다.
- 2번 ‘가용성’는 선택 조건과 다르다. 오답 이유 서비스의 지속 이용 가능성은 이 서명 절차가 직접 보장하지 않는다.
- 3번 ‘데이터 압축’는 선택 조건과 다르다. 오답 이유 전자서명은 데이터 크기를 줄이는 압축 기법이 아니다.
- 4번은 정답 선지다. 정답 근거 서명 주체와 무결성을 검증할 수 있어 서명 사실의 부인을 방지한다.
정답 판정: 정답 판정: 정답은 4번이다. 개인키로 만든 서명을 공개키로 검증하면 서명 주체와 데이터 무결성을 확인할 수 있어 송신자가 서명 사실을 부인하기 어렵다. 메시지 내용 자체를 숨기는 기밀성은 별도 암호화가 필요하다. 검증 기준: 부인 방지의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 93 판정 근거: 정답은 4번이다. 개인키로 만든 서명을 공개키로 검증하면 서명 주체와 데이터 무결성을 확인할 수 있어 송신자가 서명 사실을 부인하기 어렵다. 메시지 내용 자체를 숨기는 기밀성은 별도 암호화가 필요하다.
독립 계산·실행 추적: 개인키 서명과 공개키 검증은 송신자 부인 방지를 지원한다.
- NIST FIPS 186-5 — Digital Signature Standard
확인 위치: FIPS 186-5 — digital signatures provide origin authentication, integrity, and non-repudiation support
판정 연결: 문항 93 판정 근거: 정답은 4번이다. 개인키로 만든 서명을 공개키로 검증하면 서명 주체와 데이터 무결성을 확인할 수 있어 송신자가 서명 사실을 부인하기 어렵다. 메시지 내용 자체를 숨기는 기밀성은 별도 암호화가 필요하다. - NIST SP 800-57 Part 1 Rev. 5 — Key Management
확인 위치: NIST SP 800-57 — public, private and symmetric keys
판정 연결: 문항 93 판정 근거: 정답은 4번이다. 개인키로 만든 서명을 공개키로 검증하면 서명 주체와 데이터 무결성을 확인할 수 있어 송신자가 서명 사실을 부인하기 어렵다. 메시지 내용 자체를 숨기는 기밀성은 별도 암호화가 필요하다.
94. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 메모리 상에서 프로그램의 복귀 주소와 변수 사이에 특정 값을 저장해 두었다가 그 값이 변경되었을 경우 오버플로우 상태로 가정하여 프로그램 실행을 중단하는 기술은?
- 시스로그
- 스택가드
- 모드체크
- 리커버리 통제
정답과 해설 보기
정답: 2
정답은 2번이다. 스택가드(Stack Guard)는 지역 변수와 함수 복귀 주소 사이에 카나리 값을 두고 함수가 끝날 때 그 값이 변했는지 검사합니다. 버퍼 오버플로로 카나리가 훼손되면 복귀 주소를 사용하기 전에 실행을 중단하므로 제시된 동작에 해당합니다.
선지별 해설
- 1번 ‘시스로그’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 2번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 3번 ‘모드체크’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번 ‘리커버리 통제’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 2번이다. 스택가드(Stack Guard)는 지역 변수와 함수 복귀 주소 사이에 카나리 값을 두고 함수가 끝날 때 그 값이 변했는지 검사합니다. 버퍼 오버플로로 카나리가 훼손되면 복귀 주소를 사용하기 전에 실행을 중단하므로 제시된 동작에 해당합니다. 검증 기준: 스택가드의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 94 판정 근거: 정답은 2번이다. 스택가드(Stack Guard)는 지역 변수와 함수 복귀 주소 사이에 카나리 값을 두고 함수가 끝날 때 그 값이 변했는지 검사합니다. 버퍼 오버플로로 카나리가 훼손되면 복귀 주소를 사용하기 전에 실행을 중단하므로 제시된 동작에 해당합니다.
- GCC Instrumentation Options — stack protector
확인 위치: GCC instrumentation options — guard variable check on function exit
판정 연결: 문항 94 판정 근거: 정답은 2번이다. 스택가드(Stack Guard)는 지역 변수와 함수 복귀 주소 사이에 카나리 값을 두고 함수가 끝날 때 그 값이 변했는지 검사합니다. 버퍼 오버플로로 카나리가 훼손되면 복귀 주소를 사용하기 전에 실행을 중단하므로 제시된 동작에 해당합니다.
95. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 나선형 개발의 한 반복에서 수행하는 활동 순서로 가장 적절한 것은?
- 개발 → 계획 → 고객 평가 → 위험 분석
- 목표 계획 → 고객 평가 → 위험 분석 → 개발
- 목표 계획 → 위험 분석 → 개발·검증 → 고객 평가
- 위험 분석 → 고객 평가 → 계획 → 개발
정답과 해설 보기
정답: 3
정답은 3번이다. 나선형 모델은 목표와 대안을 정하고 위험을 분석한 뒤 개발·검증하고 고객 평가를 받아 다음 반복을 계획한다. ②가 맞다.
선지별 해설
- 1번 ‘개발 → 계획 → 고객 평가 → 위험 분석’는 선택 조건과 다르다. 오답 이유 개발 전에 목표와 위험을 정해야 하므로 개발부터 시작하는 순서는 나선형 모델과 다르다.
- 2번 ‘목표 계획 → 고객 평가 → 위험 분석 → 개발’는 선택 조건과 다르다. 오답 이유 고객 평가는 위험 분석과 개발·검증 뒤에 수행되므로 이 순서는 맞지 않는다.
- 3번은 정답 선지다. 정답 근거 목표·대안 설정, 위험 분석, 개발·검증, 고객 평가가 한 나선 반복의 핵심 순서다.
- 4번 ‘위험 분석 → 고객 평가 → 계획 → 개발’는 선택 조건과 다르다. 오답 이유 다음 반복 계획은 위험 분석과 개발보다 먼저 목적을 정한 뒤 주기 끝에서 갱신된다.
정답 판정: 정답 판정: 정답은 3번이다. 나선형 모델은 목표와 대안을 정하고 위험을 분석한 뒤 개발·검증하고 고객 평가를 받아 다음 반복을 계획한다. ②가 맞다. 검증 기준: 목표 계획 → 위험 분석 → 개발·검증 → 고객 평가의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 95 판정 근거: 정답은 3번이다. 나선형 모델은 목표와 대안을 정하고 위험을 분석한 뒤 개발·검증하고 고객 평가를 받아 다음 반복을 계획한다. ②가 맞다.
- IEEE Computer Society SWEBOK Guide V4.0a
확인 위치: SWEBOK V4 — relevant knowledge area definition and practice
판정 연결: 문항 95 판정 근거: 정답은 3번이다. 나선형 모델은 목표와 대안을 정하고 위험을 분석한 뒤 개발·검증하고 고객 평가를 받아 다음 반복을 계획한다. ②가 맞다.
96. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 소프트웨어 정의 데이터센터(SDDC)의 방향과 맞지 않는 것은?
- 컴퓨팅·네트워크·스토리지 자원을 소프트웨어로 제어한다.
- 정책 기반 자동화로 자원 배치를 조정한다.
- 물리 자원을 가상화해 서비스 단위로 제공한다.
- 특정 장비 모델에 강하게 종속될수록 자동화와 이동성이 좋아진다.
정답과 해설 보기
정답: 4
정답은 4번이다. SDDC는 하드웨어 종속을 줄이고 자원을 소프트웨어로 추상화·자동화한다. 장비 종속이 클수록 좋다는 ④가 틀리다.
선지별 해설
- 1번 ‘컴퓨팅·네트워크·스토리지 자원을 소프트웨어로 제어한다.’는 선택 조건과 다르다. 오답 이유 자원의 제어면을 소프트웨어로 추상화하는 것은 SDDC의 핵심 방향이다.
- 2번 ‘정책 기반 자동화로 자원 배치를 조정한다.’는 선택 조건과 다르다. 오답 이유 정책 기반 자동화는 프로비저닝과 운영 변경을 일관되게 수행하게 한다.
- 3번 ‘물리 자원을 가상화해 서비스 단위로 제공한다.’는 선택 조건과 다르다. 오답 이유 가상화는 물리 자원을 논리 서비스 단위로 묶어 제공할 수 있게 한다.
- 4번은 정답 선지다. 정답 근거 특정 장비 종속은 자원 이동성과 자동화를 제한하므로 SDDC의 지향점과 반대다.
정답 판정: 정답 판정: 정답은 4번이다. SDDC는 하드웨어 종속을 줄이고 자원을 소프트웨어로 추상화·자동화한다. 장비 종속이 클수록 좋다는 ④가 틀리다. 검증 기준: 특정 장비 모델에 강하게 종속될수록 자동화와 이동성이 좋아진다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 96 판정 근거: 정답은 4번이다. SDDC는 하드웨어 종속을 줄이고 자원을 소프트웨어로 추상화·자동화한다. 장비 종속이 클수록 좋다는 ④가 틀리다.
- NIST SP 800-145 — Definition of Cloud Computing
확인 위치: NIST SP 800-145 — IaaS service model
판정 연결: 문항 96 판정 근거: 정답은 4번이다. SDDC는 하드웨어 종속을 줄이고 자원을 소프트웨어로 추상화·자동화한다. 장비 종속이 클수록 좋다는 ④가 틀리다.
97. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 스트림 암호의 일반적 특성에 관한 설명 중 잘못된 것은?
- 모든 스트림 암호는 메시지를 먼저 고정 길이 해시로 바꾼 뒤 그 해시만 전송한다.
- 동일한 키 스트림을 재사용하면 평문 관계가 노출될 수 있어 nonce 관리가 중요하다.
- 대칭키 방식으로 구현되는 스트림 암호가 존재한다.
- 키 스트림을 평문 비트 또는 바이트와 순차적으로 결합할 수 있다.
정답과 해설 보기
정답: 1
정답은 1번이다. 스트림 암호는 키에서 생성한 키 스트림을 평문과 결합해 암호문을 만든다. 메시지를 고정 길이 해시로 바꾸는 것은 해시 함수의 동작이며 복호 가능한 암호화가 아니므로 ②가 잘못됐다.
선지별 해설
- 1번은 정답 선지다. 정답 근거 해시 변환은 일방향 요약을 만드는 동작으로 모든 스트림 암호의 암호화 절차가 아니다.
- 2번 ‘동일한 키 스트림을 재사용하면 평문 관계가 노출될 수 있어 nonce 관리가 중요하다.’는 선택 조건과 다르다. 오답 이유 같은 키 스트림 재사용은 암호문 간 XOR로 평문 관계가 드러날 수 있어 매우 위험하다.
- 3번 ‘대칭키 방식으로 구현되는 스트림 암호가 존재한다.’는 선택 조건과 다르다. 오답 이유 스트림 암호는 송수신자가 공유한 대칭키와 nonce로 키 스트림을 만들 수 있다.
- 4번 ‘키 스트림을 평문 비트 또는 바이트와 순차적으로 결합할 수 있다.’는 선택 조건과 다르다. 오답 이유 스트림 암호는 연속적인 키 스트림을 평문 단위와 결합해 처리할 수 있다.
정답 판정: 정답 판정: 정답은 1번이다. 스트림 암호는 키에서 생성한 키 스트림을 평문과 결합해 암호문을 만든다. 메시지를 고정 길이 해시로 바꾸는 것은 해시 함수의 동작이며 복호 가능한 암호화가 아니므로 ②가 잘못됐다. 검증 기준: 모든 스트림 암호는 메시지를 먼저 고정 길이 해시로 바꾼 뒤 그 해시만 전송한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 97 판정 근거: 정답은 1번이다. 스트림 암호는 키에서 생성한 키 스트림을 평문과 결합해 암호문을 만든다. 메시지를 고정 길이 해시로 바꾸는 것은 해시 함수의 동작이며 복호 가능한 암호화가 아니므로 ②가 잘못됐다.
- NIST SP 800-57 Part 1 Rev. 5 — Key Management
확인 위치: NIST SP 800-57 — public, private and symmetric keys
판정 연결: 문항 97 판정 근거: 정답은 1번이다. 스트림 암호는 키에서 생성한 키 스트림을 평문과 결합해 암호문을 만든다. 메시지를 고정 길이 해시로 바꾸는 것은 해시 함수의 동작이며 복호 가능한 암호화가 아니므로 ②가 잘못됐다.
98. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 하둡(Hadoop)과 관계형 데이터베이스 간에 데이터를 전송할 수 있도록 설계된 도구는?
- Sqoop
- SDB
- APNIC
- Topology
정답과 해설 보기
정답: 1
정답은 1번이다. Sqoop은 Hadoop과 관계형 데이터베이스 사이에서 대량 데이터를 가져오거나 내보내도록 설계된 전송 도구입니다. 따라서 두 환경 사이의 데이터 이동을 묻는 지문의 정답은 Sqoop입니다.
선지별 해설
- 1번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 2번 ‘SDB’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번 ‘APNIC’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번 ‘Topology’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 1번이다. Sqoop은 Hadoop과 관계형 데이터베이스 사이에서 대량 데이터를 가져오거나 내보내도록 설계된 전송 도구입니다. 따라서 두 환경 사이의 데이터 이동을 묻는 지문의 정답은 Sqoop입니다. 검증 기준: Sqoop의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 98 판정 근거: 정답은 1번이다. Sqoop은 Hadoop과 관계형 데이터베이스 사이에서 대량 데이터를 가져오거나 내보내도록 설계된 전송 도구입니다. 따라서 두 환경 사이의 데이터 이동을 묻는 지문의 정답은 Sqoop입니다.
- Apache Sqoop official site
확인 위치: Apache Sqoop overview — bulk data transfer between Hadoop and structured datastores
판정 연결: 문항 98 판정 근거: 정답은 1번이다. Sqoop은 Hadoop과 관계형 데이터베이스 사이에서 대량 데이터를 가져오거나 내보내도록 설계된 전송 도구입니다. 따라서 두 환경 사이의 데이터 이동을 묻는 지문의 정답은 Sqoop입니다.
99. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 소프트웨어 각 기능의 원시 코드 라인 수에 대한 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용해 비용을 산정하는 기법은?
- LOC기법
- Effort Per Task기법
- 전문가 감정 기법
- 델파이기법
정답과 해설 보기
정답: 1
정답은 1번이다. LOC 기법은 원시 코드 라인 수의 낙관치·기대치·비관치를 추정하고 이를 바탕으로 개발 노력과 비용을 산정합니다. 사용자에게 제공되는 기능 수를 가중해 계산하는 기능점수 방식과 구분됩니다.
선지별 해설
- 1번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 2번 ‘Effort Per Task기법’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번 ‘전문가 감정 기법’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번 ‘델파이기법’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 1번이다. LOC 기법은 원시 코드 라인 수의 낙관치·기대치·비관치를 추정하고 이를 바탕으로 개발 노력과 비용을 산정합니다. 사용자에게 제공되는 기능 수를 가중해 계산하는 기능점수 방식과 구분됩니다. 검증 기준: LOC기법의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 99 판정 근거: 정답은 1번이다. LOC 기법은 원시 코드 라인 수의 낙관치·기대치·비관치를 추정하고 이를 바탕으로 개발 노력과 비용을 산정합니다. 사용자에게 제공되는 기능 수를 가중해 계산하는 기능점수 방식과 구분됩니다.
독립 계산·실행 추적: 낙관·기대·비관 LOC 추정값으로 비용을 산정하는 LOC 기법이다.
- NASA — COCOMO model reference
확인 위치: NASA software cost estimation handbook — COCOMO project modes
판정 연결: 문항 99 판정 근거: 정답은 1번이다. LOC 기법은 원시 코드 라인 수의 낙관치·기대치·비관치를 추정하고 이를 바탕으로 개발 노력과 비용을 산정합니다. 사용자에게 제공되는 기능 수를 가중해 계산하는 기능점수 방식과 구분됩니다.
100. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 소프트웨어 개발 방법론의 테일러링(Tailoring)과 관련한 기술로 적절하지 않은 설명을 고르면?
- 프로젝트 수행 시 예상되는 변화를 배제하고 신속히 진행하여 야 한다.
- 프로젝트에 최적화된 개발 방법론을 적용하기 위해 절차, 산출물 등을 적절히 변경하는 활동이다.
- 관리 측면에서의 목적 중 하나는 최단기간에 안정적인 프로젝트 진행을 위한 사전 위험을 식별하고 제거하는 것이다.
- 기술적 측면에서의 목적 중 하나는 프로젝트에 최적화된 기술 요소를 도입하여 프로젝트 특성에 맞는 최적의 기법과 도구를 사용하는 것이다.
정답과 해설 보기
정답: 1
정답은 1번이다. 방법론 테일러링은 프로젝트 규모·위험·환경과 예상 변화에 맞춰 절차, 산출물, 기법을 조정하는 활동입니다. 예상 변화를 배제한 채 속도만 높여야 한다는 설명은 테일러링의 위험 대응 목적과 반대입니다.
선지별 해설
- 1번은 정답 선지다. 상세해설의 판정과 일치하는 정답 선지다.
- 2번 ‘프로젝트에 최적화된 개발 방법론을 적용하기 위해 절차, 산출물 등을 적절히 변경하는 활동이다.’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 3번 ‘관리 측면에서의 목적 중 하나는 최단기간에 안정적인 프로젝트 진행을 위한 사전 위험을 식별하고 제거하는 것이다.’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
- 4번 ‘기술적 측면에서의 목적 중 하나는 프로젝트에 최적화된 기술 요소를 도입하여 프로젝트 특성에 맞는 최적의 기법과 도구를 사용하는 것이다.’는 선택 조건과 다르다. 상세해설의 핵심 조건과 일치하지 않는 선지다.
정답 판정: 정답 판정: 정답은 1번이다. 방법론 테일러링은 프로젝트 규모·위험·환경과 예상 변화에 맞춰 절차, 산출물, 기법을 조정하는 활동입니다. 예상 변화를 배제한 채 속도만 높여야 한다는 설명은 테일러링의 위험 대응 목적과 반대입니다. 검증 기준: 프로젝트 수행 시 예상되는 변화를 배제하고 신속히 진행하여 야 한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 100 판정 근거: 정답은 1번이다. 방법론 테일러링은 프로젝트 규모·위험·환경과 예상 변화에 맞춰 절차, 산출물, 기법을 조정하는 활동입니다. 예상 변화를 배제한 채 속도만 높여야 한다는 설명은 테일러링의 위험 대응 목적과 반대입니다.
- ISO/IEC/IEEE 12207 — Software life cycle processes
확인 위치: ISO/IEC/IEEE 12207 scope — software life cycle processes
판정 연결: 문항 100 판정 근거: 정답은 1번이다. 방법론 테일러링은 프로젝트 규모·위험·환경과 예상 변화에 맞춰 절차, 산출물, 기법을 조정하는 활동입니다. 예상 변화를 배제한 채 속도만 높여야 한다는 설명은 테일러링의 위험 대응 목적과 반대입니다.
정보처리기사 필기 기출문제 학습 방법
먼저 PDF 문제지를 시간에 맞춰 푼 뒤, 이 글에서 오답의 정답·해설·근거를 확인하세요. 법규 문항은 근거 기준일 이후 개정 여부도 함께 확인하는 것이 안전합니다.