문제지 PDF · 웹 정답 해설

정보처리기사 필기 2023년 1회 CBT 편집복원 100문항

정보처리기사 필기 2023년 1회 CBT 편집복원 100문항을 과목별로 풀고 문항별 정답과 상세해설을 확인하세요.

후기복원 100문항 시험기간 2023-02-13 ~ 2023-03-15 근거 기준일 2026-08-29

정보처리기사 필기 2023년 1회 CBT 편집복원 100문항 안내

정보처리기사 필기 2023년 1회 CBT 편집복원 100문항을 과목별로 풀고 문항별 정답과 상세해설을 확인하세요.

각 문항의 정답은 아래 해설과 연결된 기술 표준·공식 문서·독립 계산으로 검증했습니다.

정보처리기사 전체 자료 · 정보처리기사 CBT 학습실 · Q-Net 정보처리기사 출제기준

정보처리기사 필기 2023년 1회 100문항과 문항별 정답 근거 자격증3001

정보처리기사 필기 기출문제 · 소프트웨어 설계

1. 설계 검토 회의에서 다음 항목을 판단한다. 설계 문서 작성자가 동료 회의를 열어 처리 흐름을 직접 설명하고 자유롭게 질문을 받았다. 정해진 중재자·기록자 역할이나 공식 체크리스트는 사용하지 않았다. 이 활동에 대한 해석으로 적절하지 않은 설명을 고르면?

  1. 구현 전에 설계 결함을 찾는 데 활용할 수 있다.
  2. 공식 인스펙션과 절차·역할이 완전히 동일하다.
  3. 작성자의 설명을 바탕으로 참가자가 개선 의견을 제시할 수 있다.
  4. 워크스루 방식의 동료 검토에 해당한다.
정답과 해설 보기

정답: 2

정답은 2번이다. 작성자가 산출물을 설명하고 참가자가 질문·의견을 제시하는 비교적 비공식 검토는 워크스루다. 인스펙션은 역할, 절차, 결함 기록이 명확한 공식 검토이므로 두 방식이 완전히 같다는 ③이 틀리다.

선지별 해설

  • 1번 ‘구현 전에 설계 결함을 찾는 데 활용할 수 있다.’는 선택 조건과 다르다. 오답 이유 정적 검토는 코드 실행 전에도 문서와 설계의 결함을 발견할 수 있다.
  • 2번은 정답 선지다. 정답 근거 인스펙션은 워크스루보다 역할·절차·기록이 엄격하므로 완전히 동일하지 않다.
  • 3번 ‘작성자의 설명을 바탕으로 참가자가 개선 의견을 제시할 수 있다.’는 선택 조건과 다르다. 오답 이유 워크스루 참가자는 이해가 어려운 흐름을 질문하고 대안을 제시할 수 있다.
  • 4번 ‘워크스루 방식의 동료 검토에 해당한다.’는 선택 조건과 다르다. 오답 이유 작성자 중심의 설명과 자유로운 의견 교환은 워크스루의 전형적인 진행 방식이다.

정답 판정: 정답 판정: 정답은 2번이다. 작성자가 산출물을 설명하고 참가자가 질문·의견을 제시하는 비교적 비공식 검토는 워크스루다. 인스펙션은 역할, 절차, 결함 기록이 명확한 공식 검토이므로 두 방식이 완전히 같다는 ③이 틀리다. 검증 기준: 공식 인스펙션과 절차·역할이 완전히 동일하다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 1 판정 근거: 정답은 2번이다. 작성자가 산출물을 설명하고 참가자가 질문·의견을 제시하는 비교적 비공식 검토는 워크스루다. 인스펙션은 역할, 절차, 결함 기록이 명확한 공식 검토이므로 두 방식이 완전히 같다는 ③이 틀리다.

2. 설계 검토 회의에서 다음 항목을 판단한다. 요구사항 변경의 영향을 양방향으로 추적할 수 있도록 요구사항 추적 매트릭스를 구성하려 한다. 기록 항목의 조합으로 가장 적절한 것은?

  1. 요구사항 식별자, 관련 설계 요소, 검증 테스트 케이스와 변경 상태
  2. 테스트 케이스와 실행 결과
  3. 요구사항 식별자와 우선순위
  4. 설계 모듈과 담당 개발자
정답과 해설 보기

정답: 1

정답은 1번이다. 추적 매트릭스는 요구사항을 설계 요소와 검증 테스트에 연결해 정방향·역방향 추적을 가능하게 해야 한다. 변경 상태까지 함께 관리하면 요구사항이 바뀌었을 때 수정 대상과 재검증 범위를 확인할 수 있으므로 ③이 가장 적절하다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 요구사항·설계·테스트의 대응 관계와 변경 상태를 함께 기록하므로 변경 영향과 검증 누락을 양방향으로 추적할 수 있다.
  • 2번 ‘테스트 케이스와 실행 결과’는 선택 조건과 다르다. 오답 이유 테스트와 결과만 기록한 자료는 시험 수행 내역은 보여 주지만 어떤 요구사항과 설계를 검증하는지는 나타내지 못한다.
  • 3번 ‘요구사항 식별자와 우선순위’는 선택 조건과 다르다. 오답 이유 요구사항의 목록과 우선순위만으로는 어느 설계 요소와 테스트가 영향을 받는지 추적할 수 없다.
  • 4번 ‘설계 모듈과 담당 개발자’는 선택 조건과 다르다. 오답 이유 설계 모듈과 담당자만 연결하면 구현 책임은 확인할 수 있지만 요구사항 및 검증 근거가 빠진다.

정답 판정: 정답 판정: 정답은 1번이다. 추적 매트릭스는 요구사항을 설계 요소와 검증 테스트에 연결해 정방향·역방향 추적을 가능하게 해야 한다. 변경 상태까지 함께 관리하면 요구사항이 바뀌었을 때 수정 대상과 재검증 범위를 확인할 수 있으므로 ③이 가장 적절하다. 검증 기준: 요구사항 식별자, 관련 설계 요소, 검증 테스트 케이스와 변경 상태의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 2 판정 근거: 정답은 1번이다. 추적 매트릭스는 요구사항을 설계 요소와 검증 테스트에 연결해 정방향·역방향 추적을 가능하게 해야 한다. 변경 상태까지 함께 관리하면 요구사항이 바뀌었을 때 수정 대상과 재검증 범위를 확인할 수 있으므로 ③이 가장 적절하다.

3. 설계 검토 회의에서 다음 항목을 판단한다. 메시지 지향 미들웨어(MOM)에 대한 기술로 틀린 설명을 고르면?

  1. 서로 다른 플랫폼의 응용 사이에서 비동기 메시지를 전달할 수 있다.
  2. 송신자와 수신자가 같은 연결에서 즉시 응답을 주고받아야만 사용할 수 있다.
  3. 큐를 이용해 송신 시점과 수신 처리 시점을 분리할 수 있다.
  4. 수신자가 처리할 때까지 메시지를 저장하도록 구성할 수 있다.
정답과 해설 보기

정답: 2

정답은 2번이다. MOM은 메시지 큐를 이용해 송신자와 수신자를 시간적으로 느슨하게 결합한다. 동일 연결에서 즉시 응답해야만 한다는 ①은 비동기 메시징의 특성과 반대다.

선지별 해설

  • 1번 ‘서로 다른 플랫폼의 응용 사이에서 비동기 메시지를 전달할 수 있다.’는 선택 조건과 다르다. 오답 이유 메시지 형식과 중개 계층을 통해 이기종 응용을 연계할 수 있다.
  • 2번은 정답 선지다. 정답 근거 MOM은 송신자가 수신 완료를 기다리지 않는 비동기 방식도 지원하므로 즉시 응답은 필수 조건이 아니다.
  • 3번 ‘큐를 이용해 송신 시점과 수신 처리 시점을 분리할 수 있다.’는 선택 조건과 다르다. 오답 이유 큐가 송신과 소비 시점을 분리해 두 응용의 실행 시간을 독립시킬 수 있다.
  • 4번 ‘수신자가 처리할 때까지 메시지를 저장하도록 구성할 수 있다.’는 선택 조건과 다르다. 오답 이유 지속성 큐를 사용하면 소비 전까지 메시지를 보존할 수 있다.

정답 판정: 정답 판정: 정답은 2번이다. MOM은 메시지 큐를 이용해 송신자와 수신자를 시간적으로 느슨하게 결합한다. 동일 연결에서 즉시 응답해야만 한다는 ①은 비동기 메시징의 특성과 반대다. 검증 기준: 송신자와 수신자가 같은 연결에서 즉시 응답을 주고받아야만 사용할 수 있다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 3 판정 근거: 정답은 2번이다. MOM은 메시지 큐를 이용해 송신자와 수신자를 시간적으로 느슨하게 결합한다. 동일 연결에서 즉시 응답해야만 한다는 ①은 비동기 메시징의 특성과 반대다.

4. 설계 검토 회의에서 다음 항목을 판단한다. PaymentService가 TaxPolicy 인터페이스에 정의된 연산을 구현한다. UML 관계로 가장 알맞은 것은?

  1. 집합(Aggregation)
  2. 일반화(Generalization)
  3. 실체화(Realization)
  4. 의존(Dependency)
정답과 해설 보기

정답: 3

정답은 3번이다. UML에서 구현 클래스와 인터페이스 사이의 계약 이행은 실체화로 표현한다.

선지별 해설

  • 1번 ‘집합(Aggregation)’는 선택 조건과 다르다. 오답 이유 집합은 전체-부분 관계이며 인터페이스 구현 계약을 뜻하지 않는다.
  • 2번 ‘일반화(Generalization)’는 선택 조건과 다르다. 오답 이유 일반화는 하위 분류가 상위 분류의 특성을 상속하는 관계다.
  • 3번은 정답 선지다. 정답 근거 클래스가 인터페이스의 명세를 구현하므로 실체화 관계다.
  • 4번 ‘의존(Dependency)’는 선택 조건과 다르다. 오답 이유 의존은 한 요소의 변경이 다른 요소에 영향을 줄 수 있는 약한 사용 관계다.

정답 판정: 정답 판정: 정답은 3번이다. UML에서 구현 클래스와 인터페이스 사이의 계약 이행은 실체화로 표현한다. 검증 기준: 실체화(Realization)의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 4 판정 근거: 정답은 3번이다. UML에서 구현 클래스와 인터페이스 사이의 계약 이행은 실체화로 표현한다.

5. 설계 검토 회의에서 다음 항목을 판단한다. 모듈 설계 전략을 비교한 기술로 가장 부적절한 것은?

  1. 하향식 설계 초기에 모든 하위 자료구조의 세부 구현까지 반드시 확정해야 한다.
  2. 상향식 통합에서는 구현된 하위 모듈을 결합하며 상위 호출자를 드라이버로 대체할 수 있다.
  3. 상향식 통합에서도 모듈 사이 인터페이스가 맞지 않으면 조정 작업이 필요하다.
  4. 하향식 통합에서는 상위 제어 흐름과 주요 인터페이스를 일찍 확인한다.
정답과 해설 보기

정답: 1

정답은 1번이다. 하향식 설계는 상위 기능과 인터페이스에서 시작해 세부 사항을 점진적으로 구체화한다. 초기부터 모든 하위 자료구조의 구현을 확정해야 한다는 ②는 하향식의 단계적 상세화와 맞지 않는다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 하향식은 세부 구현을 뒤 단계에서 구체화하므로 처음부터 모두 확정하지 않는다.
  • 2번 ‘상향식 통합에서는 구현된 하위 모듈을 결합하며 상위 호출자를 드라이버로 대체할 수 있다.’는 선택 조건과 다르다. 오답 이유 상향식 시험에서는 아직 없는 상위 모듈을 드라이버가 대신 호출한다.
  • 3번 ‘상향식 통합에서도 모듈 사이 인터페이스가 맞지 않으면 조정 작업이 필요하다.’는 선택 조건과 다르다. 오답 이유 상향식이라고 해도 인터페이스 계약이 불일치하면 통합 비용이 발생한다.
  • 4번 ‘하향식 통합에서는 상위 제어 흐름과 주요 인터페이스를 일찍 확인한다.’는 선택 조건과 다르다. 오답 이유 상위 구조를 먼저 정하면 주요 호출 관계를 조기에 검증할 수 있다.

정답 판정: 정답 판정: 정답은 1번이다. 하향식 설계는 상위 기능과 인터페이스에서 시작해 세부 사항을 점진적으로 구체화한다. 초기부터 모든 하위 자료구조의 구현을 확정해야 한다는 ②는 하향식의 단계적 상세화와 맞지 않는다. 검증 기준: 하향식 설계 초기에 모든 하위 자료구조의 세부 구현까지 반드시 확정해야 한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 5 판정 근거: 정답은 1번이다. 하향식 설계는 상위 기능과 인터페이스에서 시작해 세부 사항을 점진적으로 구체화한다. 초기부터 모든 하위 자료구조의 구현을 확정해야 한다는 ②는 하향식의 단계적 상세화와 맞지 않는다.

6. 설계 검토 회의에서 다음 항목을 판단한다. 소프트웨어 모델링의 활용에 대한 기술로 적절하지 않은 설명을 고르면?

  1. 구조·동작을 그림으로 공유해 이해관계자의 의사소통을 돕는다.
  2. 자료흐름도는 처리 과정과 데이터 이동을 중심으로 표현한다.
  3. 요구 분석에서 업무 개념과 경계를 이해하는 데 사용한다.
  4. 운영 후 유지보수 단계에서만 처음 작성한다.
정답과 해설 보기

정답: 4

정답은 4번이다. 모델은 요구 분석부터 설계·구현·시험·유지보수까지 시스템을 이해하고 소통하는 데 사용한다. 유지보수에서만 작성한다는 ②가 틀리다.

선지별 해설

  • 1번 ‘구조·동작을 그림으로 공유해 이해관계자의 의사소통을 돕는다.’는 선택 조건과 다르다. 오답 이유 공통 표현은 분야가 다른 참여자의 의사소통을 돕는다.
  • 2번 ‘자료흐름도는 처리 과정과 데이터 이동을 중심으로 표현한다.’는 선택 조건과 다르다. 오답 이유 자료흐름도는 프로세스와 데이터 흐름을 나타내는 기능 모델이다.
  • 3번 ‘요구 분석에서 업무 개념과 경계를 이해하는 데 사용한다.’는 선택 조건과 다르다. 오답 이유 요구 모델은 업무 범위와 용어의 오해를 줄인다.
  • 4번은 정답 선지다. 정답 근거 모델링은 개발 초기에 시작해 생명주기 전반에서 갱신할 수 있다.

정답 판정: 정답 판정: 정답은 4번이다. 모델은 요구 분석부터 설계·구현·시험·유지보수까지 시스템을 이해하고 소통하는 데 사용한다. 유지보수에서만 작성한다는 ②가 틀리다. 검증 기준: 운영 후 유지보수 단계에서만 처음 작성한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 6 판정 근거: 정답은 4번이다. 모델은 요구 분석부터 설계·구현·시험·유지보수까지 시스템을 이해하고 소통하는 데 사용한다. 유지보수에서만 작성한다는 ②가 틀리다.

7. 설계 검토 회의에서 다음 항목을 판단한다. 알림 모듈이 이메일·문자·앱푸시 전송 클래스를 직접 생성해 새 채널 추가 때마다 수정된다. 생성 책임을 분리할 패턴은?

  1. 메멘토
  2. 옵서버
  3. 팩토리 메서드
  4. 프록시
정답과 해설 보기

정답: 3

정답은 3번이다. 팩토리 메서드는 사용할 제품의 생성 시점을 별도 생성 연산으로 캡슐화한다.

선지별 해설

  • 1번 ‘메멘토’는 선택 조건과 다르다. 오답 이유 메멘토는 객체 상태의 스냅샷을 보존·복원하는 패턴이다.
  • 2번 ‘옵서버’는 선택 조건과 다르다. 오답 이유 옵서버는 상태 변화를 구독자에게 통지하며 생성 책임 분리가 주목적이 아니다.
  • 3번은 정답 선지다. 정답 근거 객체 생성 결정을 하위 생성자나 팩토리에 위임해 호출 코드의 구체 클래스 의존을 줄인다.
  • 4번 ‘프록시’는 선택 조건과 다르다. 오답 이유 프록시는 대상 객체 접근을 대리·통제하지만 제품 생성 종류를 결정하지 않는다.

정답 판정: 정답 판정: 정답은 3번이다. 팩토리 메서드는 사용할 제품의 생성 시점을 별도 생성 연산으로 캡슐화한다. 검증 기준: 팩토리 메서드의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 7 판정 근거: 정답은 3번이다. 팩토리 메서드는 사용할 제품의 생성 시점을 별도 생성 연산으로 캡슐화한다.

8. 설계 검토 회의에서 다음 항목을 판단한다. 주문 처리 흐름이 검증→할인→결제 단계로 이어지고 각 단계 출력이 다음 단계 입력이 된다. 가장 가까운 아키텍처는?

  1. 브로커
  2. 마스터-워커
  3. 파이프-필터
  4. 공유 저장소
정답과 해설 보기

정답: 3

정답은 3번이다. 파이프-필터 구조에서는 각 필터가 입력 데이터를 변환하고 그 출력을 파이프로 다음 필터에 전달한다. 검증→할인→결제가 순차 연결된 조건과 일치한다.

선지별 해설

  • 1번 ‘브로커’는 선택 조건과 다르다. 오답 이유 브로커는 분산 객체 사이 요청 전달과 위치 투명성을 중개한다.
  • 2번 ‘마스터-워커’는 선택 조건과 다르다. 오답 이유 마스터-워커는 중앙 조정자가 작업을 여러 작업자에게 분배한다.
  • 3번은 정답 선지다. 정답 근거 독립 필터가 데이터를 변환하고 파이프가 단계 사이 데이터를 전달한다.
  • 4번 ‘공유 저장소’는 선택 조건과 다르다. 오답 이유 공유 저장소는 구성요소들이 공통 데이터 공간을 중심으로 협력한다.

정답 판정: 정답 판정: 정답은 3번이다. 파이프-필터 구조에서는 각 필터가 입력 데이터를 변환하고 그 출력을 파이프로 다음 필터에 전달한다. 검증→할인→결제가 순차 연결된 조건과 일치한다. 검증 기준: 파이프-필터의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 8 판정 근거: 정답은 3번이다. 파이프-필터 구조에서는 각 필터가 입력 데이터를 변환하고 그 출력을 파이프로 다음 필터에 전달한다. 검증→할인→결제가 순차 연결된 조건과 일치한다.

9. 설계 검토 회의에서 다음 항목을 판단한다. 객체 후보를 식별한 뒤 구조, 속성, 관계, 서비스를 순서대로 분석하고 E-R 모델링 개념도 활용하는 객체지향 분석 방법은?

  1. Rumbaugh 방법
  2. Booch 방법
  3. Jacobson 방법
  4. Coad-Yourdon 방법
정답과 해설 보기

정답: 4

정답은 4번이다. 객체 식별에서 시작해 구조·속성·관계·서비스를 분석하는 절차는 Coad-Yourdon 방법의 특징이므로 ①이 맞다.

선지별 해설

  • 1번 ‘Rumbaugh 방법’는 선택 조건과 다르다. 오답 이유 Rumbaugh는 객체·동적·기능의 세 모델을 중심으로 분석한다.
  • 2번 ‘Booch 방법’는 선택 조건과 다르다. 오답 이유 Booch는 미시적·거시적 개발 프로세스를 함께 사용한다.
  • 3번 ‘Jacobson 방법’는 선택 조건과 다르다. 오답 이유 Jacobson은 사용자 관점의 유스케이스를 중심으로 분석한다.
  • 4번은 정답 선지다. 정답 근거 Coad-Yourdon은 객체와 클래스의 구조·속성·서비스를 체계적으로 식별한다.

정답 판정: 정답 판정: 정답은 4번이다. 객체 식별에서 시작해 구조·속성·관계·서비스를 분석하는 절차는 Coad-Yourdon 방법의 특징이므로 ①이 맞다. 검증 기준: Coad-Yourdon 방법의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 9 판정 근거: 정답은 4번이다. 객체 식별에서 시작해 구조·속성·관계·서비스를 분석하는 절차는 Coad-Yourdon 방법의 특징이므로 ①이 맞다.

10. 설계 검토 회의에서 다음 항목을 판단한다. DFD에 표시된 ‘주문번호’와 ‘결제금액’의 자료형·길이·허용값을 별도로 정의하려 한다. 다음 중 DFD의 네 기본 기호가 아니라 이러한 정의를 기록하는 보조 산출물은?

  1. Data Store
  2. Data Dictionary
  3. Process
  4. Data Flow
정답과 해설 보기

정답: 2

정답은 2번이다. 프로세스, 자료 흐름, 자료 저장소, 외부 개체는 DFD에 직접 표시하는 기본 요소다. 자료 사전(Data Dictionary)은 DFD에 등장한 데이터의 구조와 의미를 별도로 정의하는 보조 명세이므로 ④가 정답으로 판정된다.

선지별 해설

  • 1번 ‘Data Store’는 선택 조건과 다르다. 오답 이유 Data Store는 시스템이 데이터를 보관하거나 읽는 위치를 나타내는 DFD 기본 요소다.
  • 2번은 정답 선지다. 정답 근거 Data Dictionary는 데이터 항목의 구성·형식·의미를 설명하지만 DFD에 표시되는 네 기본 기호 자체는 아니다.
  • 3번 ‘Process’는 선택 조건과 다르다. 오답 이유 Process는 입력 데이터를 출력으로 변환하는 DFD 기본 요소다.
  • 4번 ‘Data Flow’는 선택 조건과 다르다. 오답 이유 Data Flow는 요소 사이에서 이동하는 데이터를 나타내는 DFD 기본 요소다.

정답 판정: 정답 판정: 정답은 2번이다. 프로세스, 자료 흐름, 자료 저장소, 외부 개체는 DFD에 직접 표시하는 기본 요소다. 자료 사전(Data Dictionary)은 DFD에 등장한 데이터의 구조와 의미를 별도로 정의하는 보조 명세이므로 ④가 정답으로 판정된다. 검증 기준: Data Dictionary의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 10 판정 근거: 정답은 2번이다. 프로세스, 자료 흐름, 자료 저장소, 외부 개체는 DFD에 직접 표시하는 기본 요소다. 자료 사전(Data Dictionary)은 DFD에 등장한 데이터의 구조와 의미를 별도로 정의하는 보조 명세이므로 ④가 정답으로 판정된다.

11. 설계 검토 회의에서 다음 항목을 판단한다. DFD에서 상위 처리 P가 외부 엔터티로부터 주문서와 쿠폰을 받고 승인 결과를 보낸다. 하위 DFD가 반드시 지켜야 할 원칙은?

  1. 하위 단계에서 외부 흐름 이름을 모두 삭제한다
  2. 모든 자료 저장소에 입출력 화살표를 강제로 둔다
  3. 외부 입출력 흐름의 균형을 유지한다
  4. 처리 없이 외부 엔터티끼리 직접 연결한다
정답과 해설 보기

정답: 3

정답은 3번이다. DFD 균형 원칙은 상위 처리의 외부 입력과 출력이 하위 도면의 경계에서도 보존되어야 함을 뜻한다.

선지별 해설

  • 1번 ‘하위 단계에서 외부 흐름 이름을 모두 삭제한다’는 선택 조건과 다르다. 오답 이유 흐름 이름 삭제는 데이터 의미와 상하위 균형 검증을 어렵게 한다.
  • 2번 ‘모든 자료 저장소에 입출력 화살표를 강제로 둔다’는 선택 조건과 다르다. 오답 이유 저장소는 읽기 전용 또는 쓰기 전용 흐름을 가질 수 있어 양방향 화살표가 필수는 아니다.
  • 3번은 정답 선지다. 정답 근거 상위 처리 경계를 드나드는 주문서·쿠폰·승인 결과가 하위 분할에서도 일치해야 한다.
  • 4번 ‘처리 없이 외부 엔터티끼리 직접 연결한다’는 선택 조건과 다르다. 오답 이유 외부 엔터티 사이 직접 흐름은 시스템 처리 범위를 설명하지 못한다.

정답 판정: 정답 판정: 정답은 3번이다. DFD 균형 원칙은 상위 처리의 외부 입력과 출력이 하위 도면의 경계에서도 보존되어야 함을 뜻한다. 검증 기준: 외부 입출력 흐름의 균형을 유지한다의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 11 판정 근거: 정답은 3번이다. DFD 균형 원칙은 상위 처리의 외부 입력과 출력이 하위 도면의 경계에서도 보존되어야 함을 뜻한다.

12. 설계 검토 회의에서 다음 항목을 판단한다. 청구 모듈의 함수들이 모두 청구액 계산·세금 적용·청구서 생성이라는 하나의 책임을 위해 협력한다. 이처럼 한 모듈 내부 요소의 관련성을 나타내는 설계 척도는?

  1. 응집도(Cohesion)
  2. 결합도(Coupling)
  3. 상속성(Inheritance)
  4. 다형성(Polymorphism)
정답과 해설 보기

정답: 1

정답은 1번이다. 응집도는 한 모듈 안의 요소들이 공통 목적을 위해 얼마나 강하게 연관되는지를 표현한다. 모듈 사이 의존성을 재는 결합도와 구분되므로 ①이 정답으로 판정된다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 한 모듈 내부 구성 요소의 목적·기능 관련성을 평가하므로 응집도에 분류된다.
  • 2번 ‘결합도(Coupling)’는 선택 조건과 다르다. 오답 이유 결합도는 서로 다른 모듈 사이의 상호 의존 정도를 나타내며 지문의 내부 관련성과 다르다.
  • 3번 ‘상속성(Inheritance)’는 선택 조건과 다르다. 오답 이유 상속성은 기존 타입의 속성과 동작을 하위 타입이 이어받는 객체지향 개념이다.
  • 4번 ‘다형성(Polymorphism)’는 선택 조건과 다르다. 오답 이유 다형성은 동일한 인터페이스 호출이 객체 타입에 따라 다른 동작을 수행하는 성질이다.

정답 판정: 정답 판정: 정답은 1번이다. 응집도는 한 모듈 안의 요소들이 공통 목적을 위해 얼마나 강하게 연관되는지를 표현한다. 모듈 사이 의존성을 재는 결합도와 구분되므로 ①이 정답으로 판정된다. 검증 기준: 응집도(Cohesion)의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 12 판정 근거: 정답은 1번이다. 응집도는 한 모듈 안의 요소들이 공통 목적을 위해 얼마나 강하게 연관되는지를 표현한다. 모듈 사이 의존성을 재는 결합도와 구분되므로 ①이 정답으로 판정된다.

13. 설계 검토 회의에서 다음 항목을 판단한다. Report 모듈이 출력 형식 플래그를 받아 PDF·CSV·HTML 분기를 모두 결정한다. 이 결합을 낮추는 개선으로 가장 적절한 것은?

  1. 형식별 전략 객체를 전달한다
  2. 호출 모듈의 내부 자료구조 전체를 넘긴다
  3. 분기 코드를 다른 모듈에 그대로 복사한다
  4. 전역 플래그를 공통 영역에 둔다
정답과 해설 보기

정답: 1

정답은 1번이다. 행위 선택을 전략 인터페이스로 캡슐화하면 제어 플래그 결합을 줄일 수 있다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 행위 선택을 전략 인터페이스로 캡슐화하면 제어 플래그 결합을 줄일 수 있다.
  • 2번 ‘호출 모듈의 내부 자료구조 전체를 넘긴다’는 선택 조건과 다르다. 오답 이유 내부 자료구조 전체 전달은 스탬프 결합을 강화한다.
  • 3번 ‘분기 코드를 다른 모듈에 그대로 복사한다’는 선택 조건과 다르다. 오답 이유 분기 복사는 중복과 유지보수 불일치를 늘린다.
  • 4번 ‘전역 플래그를 공통 영역에 둔다’는 선택 조건과 다르다. 오답 이유 전역 공통 영역은 공통 결합을 만들고 변경 파급을 키운다.

정답 판정: 정답 판정: 정답은 1번이다. 행위 선택을 전략 인터페이스로 캡슐화하면 제어 플래그 결합을 줄일 수 있다. 검증 기준: 형식별 전략 객체를 전달한다의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 13 판정 근거: 정답은 1번이다. 행위 선택을 전략 인터페이스로 캡슐화하면 제어 플래그 결합을 줄일 수 있다.

14. 설계 검토 회의에서 다음 항목을 판단한다. 요구사항 "검색이 빨라야 한다"를 인수 테스트가 가능한 형태로 바꾸는 문장으로 가장 적절한 것은?

  1. 개발자가 충분히 빠르다고 느끼게 한다
  2. 가능하면 지연 없이 결과를 표시한다
  3. 검색 화면을 세련되게 만든다
  4. 동시 사용자 200명에서 검색 결과를 2초 이내에 표시한다
정답과 해설 보기

정답: 4

정답은 4번이다. 검증 가능한 비기능 요구사항에는 측정 대상, 시험 조건, 수용 임계값이 포함되어야 한다.

선지별 해설

  • 1번 ‘개발자가 충분히 빠르다고 느끼게 한다’는 선택 조건과 다르다. 오답 이유 '충분히 빠르다'는 관찰자마다 기준이 달라 검증할 수 없다.
  • 2번 ‘가능하면 지연 없이 결과를 표시한다’는 선택 조건과 다르다. 오답 이유 '가능하면'과 '지연 없이'는 허용 범위와 측정 조건이 정의되지 않았다.
  • 3번 ‘검색 화면을 세련되게 만든다’는 선택 조건과 다르다. 오답 이유 '세련되게'는 주관적 표현이라 테스트 판정 기준이 없다.
  • 4번은 정답 선지다. 정답 근거 측정 조건·부하·허용 시간을 함께 제시해 성공 여부를 객관적으로 판정할 수 있다.

정답 판정: 정답 판정: 정답은 4번이다. 검증 가능한 비기능 요구사항에는 측정 대상, 시험 조건, 수용 임계값이 포함되어야 한다. 검증 기준: 동시 사용자 200명에서 검색 결과를 2초 이내에 표시한다의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 14 판정 근거: 정답은 4번이다. 검증 가능한 비기능 요구사항에는 측정 대상, 시험 조건, 수용 임계값이 포함되어야 한다.

15. 설계 검토 회의에서 다음 항목을 판단한다. 사용자가 셸 프롬프트에 grep, cd 같은 명령과 옵션을 텍스트로 입력하고 결과도 문자로 확인하는 인터페이스는?

  1. VUI(Voice User Interface)
  2. GUI(Graphical User Interface)
  3. CLI(Command Line Interface)
  4. NUI(Natural User Interface)
정답과 해설 보기

정답: 3

정답은 3번이다. 문자 기반 프롬프트에서 명령 이름과 인수를 입력해 셸이 해석하도록 하는 방식은 CLI다. 아이콘·창 중심 GUI, 자연 동작 중심 NUI, 음성 중심 VUI와 구분되므로 ②가 정답으로 판정된다.

선지별 해설

  • 1번 ‘VUI(Voice User Interface)’는 선택 조건과 다르다. 오답 이유 VUI는 음성 입력과 음성 응답을 중심으로 하는 인터페이스다.
  • 2번 ‘GUI(Graphical User Interface)’는 선택 조건과 다르다. 오답 이유 GUI는 창·아이콘·메뉴·포인터 같은 그래픽 요소로 조작하는 인터페이스다.
  • 3번은 정답 선지다. 정답 근거 CLI는 사용자가 명령 문자열과 옵션을 입력하고 텍스트 결과를 받는 인터페이스다.
  • 4번 ‘NUI(Natural User Interface)’는 선택 조건과 다르다. 오답 이유 NUI는 말·제스처 등 사람이 자연스럽게 사용하는 행동으로 상호작용하는 범주다.

정답 판정: 정답 판정: 정답은 3번이다. 문자 기반 프롬프트에서 명령 이름과 인수를 입력해 셸이 해석하도록 하는 방식은 CLI다. 아이콘·창 중심 GUI, 자연 동작 중심 NUI, 음성 중심 VUI와 구분되므로 ②가 정답으로 판정된다. 검증 기준: CLI(Command Line Interface)의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 15 판정 근거: 정답은 3번이다. 문자 기반 프롬프트에서 명령 이름과 인수를 입력해 셸이 해석하도록 하는 방식은 CLI다. 아이콘·창 중심 GUI, 자연 동작 중심 NUI, 음성 중심 VUI와 구분되므로 ②가 정답으로 판정된다.

16. 설계 검토 회의에서 다음 항목을 판단한다. 애자일 팀의 운영 원칙으로 적절하지 않은 것은?

  1. 도구 도입 자체보다 팀원 간 상호작용이 성과를 내는지 본다.
  2. 실행 가능한 증분보다 모든 문서를 먼저 완성하는 일을 항상 우선한다.
  3. 계약 문구만 고수하기보다 고객과 해결안을 함께 조정한다.
  4. 초기 계획과 다른 정보가 확인되면 우선순위를 다시 정한다.
정답과 해설 보기

정답: 2

정답은 2번이다. 애자일 선언은 개인과 상호작용, 작동하는 소프트웨어, 고객 협력, 변화 대응을 더 중시한다. 문서가 불필요하다는 뜻은 아니지만 실행 가능한 증분보다 문서 완성을 항상 우선한다는 ②는 가치의 방향과 반대다.

선지별 해설

  • 1번 ‘도구 도입 자체보다 팀원 간 상호작용이 성과를 내는지 본다.’는 선택 조건과 다르다. 오답 이유 사람 사이의 소통을 프로세스와 도구보다 중시한다는 가치에 부합한다.
  • 2번은 정답 선지다. 정답 근거 포괄적 문서를 작동 결과보다 항상 우선하는 방침은 애자일 선언과 충돌한다.
  • 3번 ‘계약 문구만 고수하기보다 고객과 해결안을 함께 조정한다.’는 선택 조건과 다르다. 오답 이유 고객 협력을 계약 협상보다 중시한다는 가치에 부합한다.
  • 4번 ‘초기 계획과 다른 정보가 확인되면 우선순위를 다시 정한다.’는 선택 조건과 다르다. 오답 이유 계획을 따르는 것보다 변화에 대응한다는 가치에 부합한다.

정답 판정: 정답 판정: 정답은 2번이다. 애자일 선언은 개인과 상호작용, 작동하는 소프트웨어, 고객 협력, 변화 대응을 더 중시한다. 문서가 불필요하다는 뜻은 아니지만 실행 가능한 증분보다 문서 완성을 항상 우선한다는 ②는 가치의 방향과 반대다. 검증 기준: 실행 가능한 증분보다 모든 문서를 먼저 완성하는 일을 항상 우선한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 16 판정 근거: 정답은 2번이다. 애자일 선언은 개인과 상호작용, 작동하는 소프트웨어, 고객 협력, 변화 대응을 더 중시한다. 문서가 불필요하다는 뜻은 아니지만 실행 가능한 증분보다 문서 완성을 항상 우선한다는 ②는 가치의 방향과 반대다.

17. 설계 검토 회의에서 다음 항목을 판단한다. GoF 패턴과 분류의 연결 중 틀린 설명을 고르면? 구조 패턴은 클래스나 객체를 조합해 더 큰 구조를 만드는 방법을 다룬다.

  1. Bridge — 구조 패턴
  2. Builder — 구조 패턴
  3. Proxy — 구조 패턴
  4. Adapter — 구조 패턴
정답과 해설 보기

정답: 2

정답은 2번이다. Adapter, Bridge, Proxy는 구조 패턴이다. Builder는 복잡한 객체의 생성 과정과 표현을 분리하는 생성 패턴이므로 구조 패턴으로 연결한 ③이 옳지 않다.

선지별 해설

  • 1번 ‘Bridge — 구조 패턴’는 선택 조건과 다르다. 오답 이유 Bridge는 추상화와 구현을 분리해 독립적으로 변화시키는 구조 패턴이다.
  • 2번은 정답 선지다. 정답 근거 Builder는 객체를 단계적으로 구성하는 생성 책임을 다루므로 생성 패턴이며 연결이 부적절하다.
  • 3번 ‘Proxy — 구조 패턴’는 선택 조건과 다르다. 오답 이유 Proxy는 실제 객체에 대한 대리 객체를 두어 접근을 제어하는 구조 패턴이다.
  • 4번 ‘Adapter — 구조 패턴’는 선택 조건과 다르다. 오답 이유 Adapter는 호환되지 않는 인터페이스를 변환해 객체를 결합하므로 구조 패턴에 속한다.

정답 판정: 정답 판정: 정답은 2번이다. Adapter, Bridge, Proxy는 구조 패턴이다. Builder는 복잡한 객체의 생성 과정과 표현을 분리하는 생성 패턴이므로 구조 패턴으로 연결한 ③이 옳지 않다. 검증 기준: Builder — 구조 패턴의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 17 판정 근거: 정답은 2번이다. Adapter, Bridge, Proxy는 구조 패턴이다. Builder는 복잡한 객체의 생성 과정과 표현을 분리하는 생성 패턴이므로 구조 패턴으로 연결한 ③이 옳지 않다.

18. 설계 검토 회의에서 다음 항목을 판단한다. Invoice 모듈이 청구 금액 계산에 필요한 검증·할인·세금 계산만 내부에 모으고 다른 업무는 분리했다. 가장 가까운 응집도는?

  1. 기능적 응집도
  2. 논리적 응집도
  3. 우연적 응집도
  4. 시간적 응집도
정답과 해설 보기

정답: 1

정답은 1번이다. 모듈의 모든 내부 작업은 청구 금액 계산이라는 단일 기능에 직접 기여한다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 하나의 명확한 목적을 수행하는 데 필요한 요소만 함께 구성되어 기능적 응집도가 높다.
  • 2번 ‘논리적 응집도’는 선택 조건과 다르다. 오답 이유 논리적 응집은 유사 범주의 여러 기능 중 제어값으로 하나를 고르는 형태다.
  • 3번 ‘우연적 응집도’는 선택 조건과 다르다. 오답 이유 우연적 응집은 서로 관련 없는 기능을 한 모듈에 모은 경우다.
  • 4번 ‘시간적 응집도’는 선택 조건과 다르다. 오답 이유 시간적 응집은 초기화·종료처럼 같은 시점에 수행되는 기능을 묶는다.

정답 판정: 정답 판정: 정답은 1번이다. 모듈의 모든 내부 작업은 청구 금액 계산이라는 단일 기능에 직접 기여한다. 검증 기준: 기능적 응집도의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 18 판정 근거: 정답은 1번이다. 모듈의 모든 내부 작업은 청구 금액 계산이라는 단일 기능에 직접 기여한다.

19. 설계 검토 회의에서 다음 항목을 판단한다. 대형 호스트 앞에서 단말 통신을 받아 메시지 조립·분해, 통신 제어, 기본 오류 검사를 먼저 수행해 호스트 CPU의 통신 부담을 줄이는 장치는?

  1. Duplexing
  2. EAI
  3. FEP
  4. GPL
정답과 해설 보기

정답: 3

정답은 3번이다. FEP(Front-End Processor)는 호스트 앞단에서 단말·통신 메시지를 처리하고 통신 제어 업무를 오프로드한다. 응용 통합인 EAI, 라이선스인 GPL, 이중화 방식인 Duplexing과 역할이 다르므로 ②가 정답으로 판정된다.

선지별 해설

  • 1번 ‘Duplexing’는 선택 조건과 다르다. 오답 이유 Duplexing은 구성 요소를 이중화해 가용성을 높이는 방식으로 메시지 전처리 장치의 이름이 아니다.
  • 2번 ‘EAI’는 선택 조건과 다르다. 오답 이유 EAI는 서로 다른 기업 응용 시스템의 데이터와 프로세스를 연계하는 아키텍처다.
  • 3번은 정답 선지다. 정답 근거 FEP는 호스트 앞단에서 통신 메시지와 단말 자원을 처리해 중앙 처리 장치의 부담을 줄인다.
  • 4번 ‘GPL’는 선택 조건과 다르다. 오답 이유 GPL은 소프트웨어 배포·수정 조건을 규정하는 라이선스이며 통신 전처리 장치가 아니다.

정답 판정: 정답 판정: 정답은 3번이다. FEP(Front-End Processor)는 호스트 앞단에서 단말·통신 메시지를 처리하고 통신 제어 업무를 오프로드한다. 응용 통합인 EAI, 라이선스인 GPL, 이중화 방식인 Duplexing과 역할이 다르므로 ②가 정답으로 판정된다. 검증 기준: FEP의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 19 판정 근거: 정답은 3번이다. FEP(Front-End Processor)는 호스트 앞단에서 단말·통신 메시지를 처리하고 통신 제어 업무를 오프로드한다. 응용 통합인 EAI, 라이선스인 GPL, 이중화 방식인 Duplexing과 역할이 다르므로 ②가 정답으로 판정된다.

20. 설계 검토 회의에서 다음 항목을 판단한다. 센서 처리 시스템을 수집→정제→집계 단계로 구성하고 각 단계가 앞 단계의 출력 스트림만 받아 변환한다. 이 파이프-필터 구조에 대한 기술로 틀린 설명을 고르면?

  1. 모든 필터가 앞뒤 필터와 양방향 대화를 해야 하며 데이터 전달 비용은 생기지 않는다.
  2. 필터별 변환 책임을 독립적으로 시험하기 쉽다.
  3. 필터 사이 데이터 형식이 합의되어야 연결할 수 있다.
  4. 단계 추가나 교체로 처리 흐름을 확장할 수 있다.
정답과 해설 보기

정답: 1

정답은 1번이다. 파이프-필터는 데이터가 파이프를 따라 다음 필터로 흐르며 각 필터가 변환을 수행한다. 필터 간 형식 변환과 이동 비용이 있고 양방향 대화가 필수도 아니므로 ①이 틀리다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 파이프-필터의 기본 흐름은 단계 방향이며 직렬화·복사 같은 전달 비용도 발생할 수 있다.
  • 2번 ‘필터별 변환 책임을 독립적으로 시험하기 쉽다.’는 선택 조건과 다르다. 오답 이유 필터가 입력과 출력 계약을 지키면 변환 로직을 독립 시험할 수 있다.
  • 3번 ‘필터 사이 데이터 형식이 합의되어야 연결할 수 있다.’는 선택 조건과 다르다. 오답 이유 파이프 양끝의 필터가 교환할 데이터 형식을 공유해야 조합할 수 있다.
  • 4번 ‘단계 추가나 교체로 처리 흐름을 확장할 수 있다.’는 선택 조건과 다르다. 오답 이유 동일한 입출력 계약을 지키는 필터는 삽입하거나 교체하기 쉽다.

정답 판정: 정답 판정: 정답은 1번이다. 파이프-필터는 데이터가 파이프를 따라 다음 필터로 흐르며 각 필터가 변환을 수행한다. 필터 간 형식 변환과 이동 비용이 있고 양방향 대화가 필수도 아니므로 ①이 틀리다. 검증 기준: 모든 필터가 앞뒤 필터와 양방향 대화를 해야 하며 데이터 전달 비용은 생기지 않는다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 20 판정 근거: 정답은 1번이다. 파이프-필터는 데이터가 파이프를 따라 다음 필터로 흐르며 각 필터가 변환을 수행한다. 필터 간 형식 변환과 이동 비용이 있고 양방향 대화가 필수도 아니므로 ①이 틀리다.

정보처리기사 필기 기출문제 · 소프트웨어 개발

21. 개발·시험 담당자가 다음 사례를 검토한다. 초보 사용자와 숙련 사용자가 함께 쓰는 업무 시스템의 품질 방침으로 가장 부적절한 것은?

  1. 오류 상황에서도 데이터 손상을 막고 복구 가능하게 한다.
  2. 숙련도 차이와 무관하게 모든 사용자에게 하나의 복잡한 조작 방식만 강제한다.
  3. 자동 시험과 사용자 검증으로 주요 기능을 확인한다.
  4. 변경 영향 범위를 작게 유지해 유지보수를 쉽게 한다.
정답과 해설 보기

정답: 2

정답은 2번이다. 좋은 소프트웨어는 유지보수성·신뢰성·검증 가능성뿐 아니라 사용 맥락과 숙련도를 고려한 사용성을 갖춰야 한다. 모든 사용자에게 복잡한 단일 조작만 강제하는 ③은 사용성을 해친다.

선지별 해설

  • 1번 ‘오류 상황에서도 데이터 손상을 막고 복구 가능하게 한다.’는 선택 조건과 다르다. 오답 이유 신뢰성에는 실패 예방뿐 아니라 데이터 보호와 복구 능력도 포함된다.
  • 2번은 정답 선지다. 정답 근거 사용자 특성을 무시한 복잡한 단일 인터페이스는 학습성과 효율성을 낮춘다.
  • 3번 ‘자동 시험과 사용자 검증으로 주요 기능을 확인한다.’는 선택 조건과 다르다. 오답 이유 시험과 사용자 검증은 구현이 요구와 품질 기준을 만족하는지 확인한다.
  • 4번 ‘변경 영향 범위를 작게 유지해 유지보수를 쉽게 한다.’는 선택 조건과 다르다. 오답 이유 변경하기 쉬운 구조는 운영 기간의 수정 비용과 오류 전파를 줄인다.

정답 판정: 정답 판정: 정답은 2번이다. 좋은 소프트웨어는 유지보수성·신뢰성·검증 가능성뿐 아니라 사용 맥락과 숙련도를 고려한 사용성을 갖춰야 한다. 모든 사용자에게 복잡한 단일 조작만 강제하는 ③은 사용성을 해친다. 검증 기준: 숙련도 차이와 무관하게 모든 사용자에게 하나의 복잡한 조작 방식만 강제한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 21 판정 근거: 정답은 2번이다. 좋은 소프트웨어는 유지보수성·신뢰성·검증 가능성뿐 아니라 사용 맥락과 숙련도를 고려한 사용성을 갖춰야 한다. 모든 사용자에게 복잡한 단일 조작만 강제하는 ③은 사용성을 해친다.

22. 개발·시험 담당자가 다음 사례를 검토한다. 정렬 배열 [4, 7, 10, 13, 16, 19, 22]을 이진 탐색하여 19를 찾는다. 중앙 원소 비교 횟수는?

  1. 4회
  2. 2회
  3. 1회
  4. 3회
정답과 해설 보기

정답: 2

정답은 2번이다. 오름차순 7개 원소의 중앙값 13과 먼저 비교한 뒤 오른쪽 절반의 중앙값 19과 비교한다.

선지별 해설

  • 1번 ‘4회’는 선택 조건과 다르다. 오답 이유 배열 크기 7에서 이 목표를 찾는 경로는 두 비교뿐이다.
  • 2번은 정답 선지다. 정답 근거 첫 비교는 네 번째 값 13, 두 번째 비교는 오른쪽 구간 중앙값 19이므로 2회다.
  • 3번 ‘1회’는 선택 조건과 다르다. 오답 이유 첫 중앙값 13은 목표가 아니므로 한 번에 끝나지 않는다.
  • 4번 ‘3회’는 선택 조건과 다르다. 오답 이유 두 번째 비교에서 이미 목표를 찾으므로 세 번째 비교는 수행하지 않는다.

정답 판정: 정답 판정: 정답은 2번이다. 오름차순 7개 원소의 중앙값 13과 먼저 비교한 뒤 오른쪽 절반의 중앙값 19과 비교한다. 검증 기준: 2회의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 22 판정 근거: 정답은 2번이다. 오름차순 7개 원소의 중앙값 13과 먼저 비교한 뒤 오른쪽 절반의 중앙값 19과 비교한다.

독립 계산·실행 추적: 중앙값 13을 비교한 뒤 오른쪽 부분의 19를 비교하므로 2회다.

23. 개발·시험 담당자가 다음 사례를 검토한다. 워크스루와 인스펙션을 비교한 기술로 틀린 설명을 고르면? 설계 산출물을 작성자가 동료에게 단계별로 설명하며 결함과 개선 의견을 수집한다.

  1. 워크스루와 인스펙션은 모두 실행 전에 산출물의 결함을 찾는 정적 검토에 활용할 수 있다.
  2. 워크스루에서는 작성자가 산출물의 흐름을 설명하며 참가자의 질문과 의견을 받을 수 있다.
  3. 예시 입력이나 사용 시나리오를 따라 산출물의 동작을 수작업으로 추적할 수 있다.
  4. 워크스루는 인스펙션과 언제나 동일한 역할·진입 기준·종료 기준·공식 기록 절차를 사용한다.
정답과 해설 보기

정답: 4

정답은 4번이다. 워크스루는 작성자가 산출물을 설명하며 참가자가 질문하고 흐름을 추적하는 비교적 비공식적인 검토다. 인스펙션은 정의된 역할, 기준, 기록과 후속 조치를 갖는 더 공식적인 절차이므로 둘이 언제나 동일하다는 ③이 틀리다.

선지별 해설

  • 1번 ‘워크스루와 인스펙션은 모두 실행 전에 산출물의 결함을 찾는 정적 검토에 활용할 수 있다.’는 선택 조건과 다르다. 오답 이유 두 기법 모두 코드를 실행하지 않고 명세·설계·코드 산출물을 검토하는 정적 테스팅에 사용할 수 있다.
  • 2번 ‘워크스루에서는 작성자가 산출물의 흐름을 설명하며 참가자의 질문과 의견을 받을 수 있다.’는 선택 조건과 다르다. 오답 이유 작성자 주도의 설명과 참가자 피드백은 워크스루의 대표적인 진행 방식이다.
  • 3번 ‘예시 입력이나 사용 시나리오를 따라 산출물의 동작을 수작업으로 추적할 수 있다.’는 선택 조건과 다르다. 오답 이유 입력이나 시나리오를 따라 로직을 추적하면 실행하지 않고도 누락과 모순을 찾을 수 있다.
  • 4번은 정답 선지다. 정답 근거 인스펙션은 공식 역할과 기준을 사용하는 반면 워크스루는 그보다 비공식적일 수 있어 동일하다는 설명이 부적절하다.

정답 판정: 정답 판정: 정답은 4번이다. 워크스루는 작성자가 산출물을 설명하며 참가자가 질문하고 흐름을 추적하는 비교적 비공식적인 검토다. 인스펙션은 정의된 역할, 기준, 기록과 후속 조치를 갖는 더 공식적인 절차이므로 둘이 언제나 동일하다는 ③이 틀리다. 검증 기준: 워크스루는 인스펙션과 언제나 동일한 역할·진입 기준·종료 기준·공식 기록 절차를 사용한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 23 판정 근거: 정답은 4번이다. 워크스루는 작성자가 산출물을 설명하며 참가자가 질문하고 흐름을 추적하는 비교적 비공식적인 검토다. 인스펙션은 정의된 역할, 기준, 기록과 후속 조치를 갖는 더 공식적인 절차이므로 둘이 언제나 동일하다는 ③이 틀리다.

24. 개발·시험 담당자가 다음 사례를 검토한다. 입력 순서가 1, 2, 3, 4이고, 입력되는 값을 필요할 때 스택에 push한 뒤 pop하여 출력할 수 있다. 다음 중 만들 수 없는 출력 순서는?

  1. 1, 2, 4, 3
  2. 3, 1, 4, 2
  3. 2, 3, 4, 1
  4. 4, 3, 2, 1
정답과 해설 보기

정답: 2

정답은 2번이다. 3을 먼저 출력하려면 1, 2, 3을 차례로 push한 뒤 3을 pop해야 한다. 이때 스택 꼭대기는 2이므로 1을 바로 출력할 수 없다. 따라서 3, 1, 4, 2 순서는 만들 수 없고 ②가 정답으로 판정된다.

선지별 해설

  • 1번 ‘1, 2, 4, 3’는 선택 조건과 다르다. 오답 이유 1과 2를 각각 즉시 출력한 뒤 3, 4를 push하고 4, 3 순서로 pop하면 만들 수 있다.
  • 2번은 정답 선지다. 정답 근거 3을 pop한 직후 2가 1 위에 남아 있어 1을 먼저 pop할 수 없으므로 불가능하다.
  • 3번 ‘2, 3, 4, 1’는 선택 조건과 다르다. 오답 이유 1, 2를 push해 2를 출력하고, 3과 4를 차례로 입력·출력한 뒤 마지막에 1을 출력하면 가능하다.
  • 4번 ‘4, 3, 2, 1’는 선택 조건과 다르다. 오답 이유 네 값을 모두 push한 뒤 차례로 pop하면 4, 3, 2, 1이 된다.

정답 판정: 정답 판정: 정답은 2번이다. 3을 먼저 출력하려면 1, 2, 3을 차례로 push한 뒤 3을 pop해야 한다. 이때 스택 꼭대기는 2이므로 1을 바로 출력할 수 없다. 따라서 3, 1, 4, 2 순서는 만들 수 없고 ②가 정답으로 판정된다. 검증 기준: 3, 1, 4, 2의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 24 판정 근거: 정답은 2번이다. 3을 먼저 출력하려면 1, 2, 3을 차례로 push한 뒤 3을 pop해야 한다. 이때 스택 꼭대기는 2이므로 1을 바로 출력할 수 없다. 따라서 3, 1, 4, 2 순서는 만들 수 없고 ②가 정답으로 판정된다.

독립 계산·실행 추적: 1,2,3을 넣고 3을 꺼낸 뒤에는 1 위의 2를 먼저 꺼내야 하므로 3,1,4,2는 만들 수 없다.

25. 개발·시험 담당자가 다음 사례를 검토한다. 간선이 A-B, A-C, B-D, B-E, E-F, E-G, C-H인 트리에서 한 노드가 가지는 자식 수의 최댓값과 자식이 없는 노드의 개수는?

  1. 최댓값 2, 자식 없는 노드 4개
  2. 최댓값 4, 자식 없는 노드 8개
  3. 최댓값 2, 자식 없는 노드 8개
  4. 최댓값 4, 자식 없는 노드 4개
정답과 해설 보기

정답: 1

정답은 1번이다. 각 노드의 자식 수 최댓값은 2이고 자식이 없는 노드는 D, F, G, H 네 개다. 따라서 ②가 맞다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 B와 E의 자식 수가 각각 2로 최대이고 D·F·G·H가 자식이 없는 노드이므로 두 값이 모두 맞다.
  • 2번 ‘최댓값 4, 자식 없는 노드 8개’는 선택 조건과 다르다. 오답 이유 최댓값 4와 자식 없는 노드 8개는 어느 값도 주어진 간선 구조에서 나오지 않는다.
  • 3번 ‘최댓값 2, 자식 없는 노드 8개’는 선택 조건과 다르다. 오답 이유 최댓값 2는 맞지만 자식 없는 노드는 전체 8개가 아니라 4개다.
  • 4번 ‘최댓값 4, 자식 없는 노드 4개’는 선택 조건과 다르다. 오답 이유 자식이 없는 노드는 4개지만 한 노드의 최대 자식 수는 2이므로 최댓값 4가 틀리다.

정답 판정: 정답 판정: 정답은 1번이다. 각 노드의 자식 수 최댓값은 2이고 자식이 없는 노드는 D, F, G, H 네 개다. 따라서 ②가 맞다. 검증 기준: 최댓값 2, 자식 없는 노드 4개의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 25 판정 근거: 정답은 1번이다. 각 노드의 자식 수 최댓값은 2이고 자식이 없는 노드는 D, F, G, H 네 개다. 따라서 ②가 맞다.

독립 계산·실행 추적: B와 E의 자식 수가 각각 2로 최대이고 잎은 D,F,G,H 네 개다.

26. 개발·시험 담당자가 다음 사례를 검토한다. 후위 표기식 8 2 / 3 4 * + 의 계산 결과는?

  1. 20
  2. 24
  3. 14
  4. 16
정답과 해설 보기

정답: 4

정답은 4번이다. 후위식은 연산자를 만나면 스택의 두 피연산자를 꺼내 계산한다. 8 2 /는 4, 3 4 *는 12가 되고 마지막 +가 두 결과를 더하므로 4+12=16이다.

선지별 해설

  • 1번 ‘20’는 선택 조건과 다르다. 오답 이유 나눗셈 대신 덧셈을 하거나 피연산자 결합 순서를 잘못 적용한 결과다.
  • 2번 ‘24’는 선택 조건과 다르다. 오답 이유 3×4=12만 두 번 더하는 계산은 후위식의 스택 순서와 맞지 않는다.
  • 3번 ‘14’는 선택 조건과 다르다. 오답 이유 14는 두 부분식의 결과 4와 12를 올바르게 더한 값이 아니다.
  • 4번은 정답 선지다. 정답 근거 8÷2=4와 3×4=12를 계산한 뒤 4+12를 수행해 16이 된다.

정답 판정: 정답 판정: 정답은 4번이다. 후위식은 연산자를 만나면 스택의 두 피연산자를 꺼내 계산한다. 8 2 /는 4, 3 4 *는 12가 되고 마지막 +가 두 결과를 더하므로 4+12=16이다. 검증 기준: 16의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 26 판정 근거: 정답은 4번이다. 후위식은 연산자를 만나면 스택의 두 피연산자를 꺼내 계산한다. 8 2 /는 4, 3 4 *는 12가 되고 마지막 +가 두 결과를 더하므로 4+12=16이다.

독립 계산·실행 추적: 8÷2=4, 3×4=12, 4+12=16이다.

27. 개발·시험 담당자가 다음 사례를 검토한다. 결제 기능의 자동 시험이 기대값과 다른 결과를 발견했고 개발자가 원인 코드를 추적해 수정했다. 두 활동의 구분으로 타당한 설명을 고르면?

  1. 디버깅이 끝나면 수정 결과를 다시 시험할 필요가 없다.
  2. 시험은 실패를 드러내고, 디버깅은 원인을 찾아 수정한다.
  3. 시험은 원인 코드를 수정하고, 디버깅은 기대값만 정의한다.
  4. 시험과 디버깅은 모두 결함 위치를 자동으로 확정한다.
정답과 해설 보기

정답: 2

정답은 2번이다. 테스트는 실행 결과와 기대 결과를 비교해 실패를 발견한다. 디버깅은 실패를 만든 원인을 추적하고 코드를 수정하는 활동이므로 ①이 두 역할을 정확히 구분한다.

선지별 해설

  • 1번 ‘디버깅이 끝나면 수정 결과를 다시 시험할 필요가 없다.’는 선택 조건과 다르다. 오답 이유 수정 뒤에는 회귀 시험으로 결함 해결과 부작용 여부를 확인해야 한다.
  • 2번은 정답 선지다. 정답 근거 실패 관찰과 원인 수정은 각각 테스트와 디버깅의 핵심 목적이다.
  • 3번 ‘시험은 원인 코드를 수정하고, 디버깅은 기대값만 정의한다.’는 선택 조건과 다르다. 오답 이유 원인 코드를 찾고 수정하는 일은 테스트가 아니라 디버깅 단계다.
  • 4번 ‘시험과 디버깅은 모두 결함 위치를 자동으로 확정한다.’는 선택 조건과 다르다. 오답 이유 테스트는 결함 존재를 드러낼 수 있지만 결함 위치를 항상 자동 확정하지는 않는다.

정답 판정: 정답 판정: 정답은 2번이다. 테스트는 실행 결과와 기대 결과를 비교해 실패를 발견한다. 디버깅은 실패를 만든 원인을 추적하고 코드를 수정하는 활동이므로 ①이 두 역할을 정확히 구분한다. 검증 기준: 시험은 실패를 드러내고, 디버깅은 원인을 찾아 수정한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 27 판정 근거: 정답은 2번이다. 테스트는 실행 결과와 기대 결과를 비교해 실패를 발견한다. 디버깅은 실패를 만든 원인을 추적하고 코드를 수정하는 활동이므로 ①이 두 역할을 정확히 구분한다.

28. 개발·시험 담당자가 다음 사례를 검토한다. 빈 스택에 A1, B28, C3을 차례로 push한 뒤 두 번 pop한다. 출력 순서는?

  1. A1, B28
  2. B28, C3
  3. C3, A1
  4. C3, B28
정답과 해설 보기

정답: 4

정답은 4번이다. LIFO 규칙에 따라 가장 늦게 삽입한 C3이 먼저, 다음 top인 B28이 이어서 나온다.

선지별 해설

  • 1번 ‘A1, B28’는 선택 조건과 다르다. 오답 이유 A1은 가장 먼저 들어가 두 번의 pop 뒤에도 남는다.
  • 2번 ‘B28, C3’는 선택 조건과 다르다. 오답 이유 B28보다 C3이 나중에 push되어 먼저 나온다.
  • 3번 ‘C3, A1’는 선택 조건과 다르다. 오답 이유 첫 pop 뒤 스택의 top은 B28이므로 A1이 두 번째로 나오지 않는다.
  • 4번은 정답 선지다. 정답 근거 스택은 마지막에 넣은 C3과 그 아래 B28 순으로 제거된다.

정답 판정: 정답 판정: 정답은 4번이다. LIFO 규칙에 따라 가장 늦게 삽입한 C3이 먼저, 다음 top인 B28이 이어서 나온다. 검증 기준: C3, B28의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 28 판정 근거: 정답은 4번이다. LIFO 규칙에 따라 가장 늦게 삽입한 C3이 먼저, 다음 top인 B28이 이어서 나온다.

독립 계산·실행 추적: LIFO이므로 C3 다음 B28이 나온다.

29. 개발·시험 담당자가 다음 사례를 검토한다. 온라인 민원 시스템의 형상 항목 기준선을 정한다. 다음 중 제품 상태를 재현하기 위한 형상 항목으로 관리할 필요가 가장 낮은 것은?

  1. 빌드 가능한 소스 코드와 의존성 잠금 파일
  2. 배포 및 운영 절차서
  3. 승인되지 않은 다음 분기 기능 아이디어 메모
  4. 승인된 요구사항 명세서
정답과 해설 보기

정답: 3

정답은 3번이다. 요구사항, 소스와 의존성, 배포 절차는 특정 제품 버전을 재현하고 변경 영향을 추적하는 형상 항목이다. 아직 승인되지 않은 다음 분기 기능 아이디어는 현재 기준선의 제품 상태를 재현하는 데 사용되지 않으므로 ④가 형상 관리 필요성이 가장 낮다.

선지별 해설

  • 1번 ‘빌드 가능한 소스 코드와 의존성 잠금 파일’는 선택 조건과 다르다. 오답 이유 소스와 잠금 파일은 같은 제품 빌드를 재현하는 데 필요한 핵심 형상 항목이다.
  • 2번 ‘배포 및 운영 절차서’는 선택 조건과 다르다. 오답 이유 배포·운영 절차는 버전별 설치와 복구를 재현하기 위해 함께 관리할 수 있다.
  • 3번은 정답 선지다. 정답 근거 승인되지 않은 미래 기능 아이디어는 현재 제품 기준선에 포함된 요구사항이나 산출물이 아니므로 현재 상태 재현에 필요하지 않다.
  • 4번 ‘승인된 요구사항 명세서’는 선택 조건과 다르다. 오답 이유 승인된 요구사항은 구현과 시험의 기준선이 되어 변경 이력을 관리해야 한다.

정답 판정: 정답 판정: 정답은 3번이다. 요구사항, 소스와 의존성, 배포 절차는 특정 제품 버전을 재현하고 변경 영향을 추적하는 형상 항목이다. 아직 승인되지 않은 다음 분기 기능 아이디어는 현재 기준선의 제품 상태를 재현하는 데 사용되지 않으므로 ④가 형상 관리 필요성이 가장 낮다. 검증 기준: 승인되지 않은 다음 분기 기능 아이디어 메모의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 29 판정 근거: 정답은 3번이다. 요구사항, 소스와 의존성, 배포 절차는 특정 제품 버전을 재현하고 변경 영향을 추적하는 형상 항목이다. 아직 승인되지 않은 다음 분기 기능 아이디어는 현재 기준선의 제품 상태를 재현하는 데 사용되지 않으므로 ④가 형상 관리 필요성이 가장 낮다.

30. 개발·시험 담당자가 다음 사례를 검토한다. [10, 6, 8, 12]에 삽입 정렬 첫 번째 회전을 적용한 결과는?

  1. [6, 8, 10, 12]
  2. [10, 6, 12, 8]
  3. [10, 8, 6, 12]
  4. [6, 10, 8, 12]
정답과 해설 보기

정답: 4

정답은 4번이다. 두 번째 원소 6를 정렬 구간 [10]에 삽입해 앞의 두 값만 [6, 10]로 바뀐다.

선지별 해설

  • 1번 ‘[6, 8, 10, 12]’는 선택 조건과 다르다. 오답 이유 첫 회전에서는 8를 이동하지 않는다.
  • 2번 ‘[10, 6, 12, 8]’는 선택 조건과 다르다. 오답 이유 마지막 두 원소는 아직 정렬 대상에 포함되지 않는다.
  • 3번 ‘[10, 8, 6, 12]’는 선택 조건과 다르다. 오답 이유 세 번째 원소까지 처리한 배열이라 첫 회전 결과가 아니다.
  • 4번은 정답 선지다. 정답 근거 두 번째 원소 6를 정렬 구간 [10]에 삽입해 앞의 두 값만 [6, 10]로 바뀐다.

정답 판정: 정답 판정: 정답은 4번이다. 두 번째 원소 6를 정렬 구간 [10]에 삽입해 앞의 두 값만 [6, 10]로 바뀐다. 검증 기준: [6, 10, 8, 12]의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 30 판정 근거: 정답은 4번이다. 두 번째 원소 6를 정렬 구간 [10]에 삽입해 앞의 두 값만 [6, 10]로 바뀐다.

독립 계산·실행 추적: 10과 6을 비교해 교환하므로 첫 회전은 [6,10,8,12]다.

31. 개발·시험 담당자가 다음 사례를 검토한다. 빌드·통합 도구의 기술로 적절하지 않은 설명을 고르면?

  1. Jenkins는 Android 앱의 소스 언어를 Groovy 바이트코드로 변환하는 전용 컴파일러다.
  2. Gradle은 태스크와 의존 관계를 정의해 빌드 단계를 실행한다.
  3. 자동 빌드는 지속적 통합에서 반복 가능한 검증을 돕는다.
  4. Ant와 Gradle은 빌드 자동화, Jenkins는 자동화 서버로 활용할 수 있다.
정답과 해설 보기

정답: 1

정답은 1번이다. Jenkins는 파이프라인과 작업을 실행하는 자동화 서버이지 Android 전용 컴파일러가 아니다. 따라서 ④가 틀리다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 Jenkins는 작업을 조정하며 소스 코드를 직접 번역하는 전용 컴파일러가 아니다.
  • 2번 ‘Gradle은 태스크와 의존 관계를 정의해 빌드 단계를 실행한다.’는 선택 조건과 다르다. 오답 이유 Gradle은 태스크 그래프를 계산해 필요한 작업을 순서대로 실행한다.
  • 3번 ‘자동 빌드는 지속적 통합에서 반복 가능한 검증을 돕는다.’는 선택 조건과 다르다. 오답 이유 재현 가능한 자동 빌드는 변경마다 같은 검증을 수행하게 한다.
  • 4번 ‘Ant와 Gradle은 빌드 자동화, Jenkins는 자동화 서버로 활용할 수 있다.’는 선택 조건과 다르다. 오답 이유 각 도구의 범위는 다르지만 빌드·CI 자동화 흐름에 활용될 수 있다.

정답 판정: 정답 판정: 정답은 1번이다. Jenkins는 파이프라인과 작업을 실행하는 자동화 서버이지 Android 전용 컴파일러가 아니다. 따라서 ④가 틀리다. 검증 기준: Jenkins는 Android 앱의 소스 언어를 Groovy 바이트코드로 변환하는 전용 컴파일러다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 31 판정 근거: 정답은 1번이다. Jenkins는 파이프라인과 작업을 실행하는 자동화 서버이지 Android 전용 컴파일러가 아니다. 따라서 ④가 틀리다.

32. 개발·시험 담당자가 다음 사례를 검토한다. 화이트박스 테스트에 대한 기술로 틀린 설명을 고르면? 개발자는 프로그램의 제어 흐름과 분기 구조를 바탕으로 분기 결과가 수행되는 테스트를 설계한다.

  1. 문장·분기·경로처럼 구현 내부의 구조를 테스트 설계에 활용할 수 있다.
  2. 실행된 분기 수를 전체 분기 수로 나누어 분기 커버리지를 계산할 수 있다.
  3. 프로그램 내부 구조는 고려하지 않고 오직 외부 요구사항과 입출력 명세만으로 테스트를 결정한다.
  4. 커버리지 결과를 보고 아직 실행되지 않은 구조를 위한 테스트를 추가할 수 있다.
정답과 해설 보기

정답: 3

정답은 3번이다. 화이트박스 테스트는 구현의 제어 흐름과 내부 구조를 이용하고 문장·분기 같은 구조적 커버리지를 측정한다. 내부 구조를 보지 않고 외부 명세만 이용한다는 ③은 블랙박스 테스트의 특징이다.

선지별 해설

  • 1번 ‘문장·분기·경로처럼 구현 내부의 구조를 테스트 설계에 활용할 수 있다.’는 선택 조건과 다르다. 오답 이유 화이트박스 기법은 소스 구조와 제어 흐름을 테스트 설계의 근거로 삼는다.
  • 2번 ‘실행된 분기 수를 전체 분기 수로 나누어 분기 커버리지를 계산할 수 있다.’는 선택 조건과 다르다. 오답 이유 분기 커버리지는 실행된 분기 수를 식별된 전체 분기 수와 비교해 계산한다.
  • 3번은 정답 선지다. 정답 근거 내부 구조를 전혀 고려하지 않는 명세 기반 접근은 블랙박스에 해당하므로 부적절한 설명이다.
  • 4번 ‘커버리지 결과를 보고 아직 실행되지 않은 구조를 위한 테스트를 추가할 수 있다.’는 선택 조건과 다르다. 오답 이유 미실행 구조를 식별해 추가 테스트를 설계하는 것은 커버리지 측정의 중요한 활용이다.

정답 판정: 정답 판정: 정답은 3번이다. 화이트박스 테스트는 구현의 제어 흐름과 내부 구조를 이용하고 문장·분기 같은 구조적 커버리지를 측정한다. 내부 구조를 보지 않고 외부 명세만 이용한다는 ③은 블랙박스 테스트의 특징이다. 검증 기준: 프로그램 내부 구조는 고려하지 않고 오직 외부 요구사항과 입출력 명세만으로 테스트를 결정한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 32 판정 근거: 정답은 3번이다. 화이트박스 테스트는 구현의 제어 흐름과 내부 구조를 이용하고 문장·분기 같은 구조적 커버리지를 측정한다. 내부 구조를 보지 않고 외부 명세만 이용한다는 ③은 블랙박스 테스트의 특징이다.

33. 개발·시험 담당자가 다음 사례를 검토한다. 출시 후보를 먼저 개발 조직 내부의 대표 사용자가 통제된 환경에서 시험하고, 이후 외부 사용자가 실제 환경에서 시험했다. 두 활동이 속하는 테스트 수준은? 앞 단계는 알파 테스트, 뒤 단계는 베타 테스트로 운영했다.

  1. 인수 테스트
  2. 통합 테스트
  3. 컴포넌트 테스트
  4. 단위 테스트
정답과 해설 보기

정답: 1

정답은 1번이다. 알파와 베타 테스트는 제품이 사용자 요구와 업무 목적에 맞는지 확인하는 인수 테스트의 형태다. 개별 모듈이나 인터페이스 결합을 확인하는 단위·통합 테스트와 목적이 다르므로 ②가 정답으로 판정된다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 알파·베타 테스트는 실제 또는 대표 사용자가 제품 수용 가능성을 확인하는 인수 테스트 범주다.
  • 2번 ‘통합 테스트’는 선택 조건과 다르다. 오답 이유 통합 테스트는 컴포넌트 사이 인터페이스와 상호작용의 결함을 찾는 단계다.
  • 3번 ‘컴포넌트 테스트’는 선택 조건과 다르다. 오답 이유 컴포넌트 테스트는 격리된 개별 컴포넌트의 동작을 확인하며 외부 사용자 수용 시험과 다르다.
  • 4번 ‘단위 테스트’는 선택 조건과 다르다. 오답 이유 단위 테스트는 함수·클래스·모듈 같은 작은 컴포넌트를 개발 관점에서 검증한다.

정답 판정: 정답 판정: 정답은 1번이다. 알파와 베타 테스트는 제품이 사용자 요구와 업무 목적에 맞는지 확인하는 인수 테스트의 형태다. 개별 모듈이나 인터페이스 결합을 확인하는 단위·통합 테스트와 목적이 다르므로 ②가 정답으로 판정된다. 검증 기준: 인수 테스트의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 33 판정 근거: 정답은 1번이다. 알파와 베타 테스트는 제품이 사용자 요구와 업무 목적에 맞는지 확인하는 인수 테스트의 형태다. 개별 모듈이나 인터페이스 결합을 확인하는 단위·통합 테스트와 목적이 다르므로 ②가 정답으로 판정된다.

34. 개발·시험 담당자가 다음 사례를 검토한다. 테스트 오라클 활용 방식에 대한 기술로 틀린 설명을 고르면?

  1. 샘플링 오라클은 선택한 일부 테스트 입력에 대해서만 기대 결과를 제공한다.
  2. 휴리스틱 오라클은 일부 결과를 알려진 기준으로 확인하고 나머지는 규칙이나 추정으로 판정한다.
  3. 참 오라클은 모든 입력에 대한 기대 결과를 명확히 판단할 수 있을 때 사용할 수 있다.
  4. 일관성 검사 오라클은 모든 입력의 정확한 기대 출력값을 새로 계산해 제공한다.
정답과 해설 보기

정답: 4

정답은 4번이다. 일관성 검사 오라클은 변경 전후 결과나 서로 관련된 실행 결과의 일관성을 비교하는 방식이지, 모든 입력의 정확한 기대값을 계산하는 오라클이 아니다. 따라서 ②가 옳지 않다.

선지별 해설

  • 1번 ‘샘플링 오라클은 선택한 일부 테스트 입력에 대해서만 기대 결과를 제공한다.’는 선택 조건과 다르다. 오답 이유 일부 대표 입력에 대해서만 기대 결과를 준비하는 것이 샘플링 오라클의 핵심이다.
  • 2번 ‘휴리스틱 오라클은 일부 결과를 알려진 기준으로 확인하고 나머지는 규칙이나 추정으로 판정한다.’는 선택 조건과 다르다. 오답 이유 완전한 기대값을 만들기 어려울 때 알려진 규칙과 추정 기준을 사용하는 설명으로 휴리스틱 오라클에 부합한다.
  • 3번 ‘참 오라클은 모든 입력에 대한 기대 결과를 명확히 판단할 수 있을 때 사용할 수 있다.’는 선택 조건과 다르다. 오답 이유 모든 테스트 입력에 확정적인 기대 결과를 줄 수 있다면 참 오라클로 직접 비교할 수 있다.
  • 4번은 정답 선지다. 정답 근거 일관성 검사는 결과 사이의 일치 여부를 확인하며 전체 입력의 정답을 새로 산출하지 않으므로 부적절한 설명이다.

정답 판정: 정답 판정: 정답은 4번이다. 일관성 검사 오라클은 변경 전후 결과나 서로 관련된 실행 결과의 일관성을 비교하는 방식이지, 모든 입력의 정확한 기대값을 계산하는 오라클이 아니다. 따라서 ②가 옳지 않다. 검증 기준: 일관성 검사 오라클은 모든 입력의 정확한 기대 출력값을 새로 계산해 제공한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 34 판정 근거: 정답은 4번이다. 일관성 검사 오라클은 변경 전후 결과나 서로 관련된 실행 결과의 일관성을 비교하는 방식이지, 모든 입력의 정확한 기대값을 계산하는 오라클이 아니다. 따라서 ②가 옳지 않다.

35. 개발·시험 담당자가 다음 사례를 검토한다. 응용 통합 구조의 기술로 틀린 설명을 고르면? ① 중앙 조정 없이 모든 시스템이 서로 직접 연결된다. ② 중앙 중개자가 각 시스템 연결을 조정한다. ③ 공통 메시지 채널에 발행·구독한다. ④ 두 시스템이 전용 인터페이스로 직접 통신한다.

  1. ④는 Point-to-Point 구조로 볼 수 있다.
  2. ①은 Tree 구조의 특징이다.
  3. ②는 Hub & Spoke 구조로 볼 수 있다.
  4. ③은 Message Bus 구조로 볼 수 있다.
정답과 해설 보기

정답: 2

정답은 2번이다. 모든 시스템이 서로 직접 연결되는 구조는 완전 연결에 가까우며 계층적 부모-자식 연결을 뜻하는 Tree의 특징이 아니다. 중앙 중개자는 Hub & Spoke, 공통 채널은 Message Bus, 전용 1:1 연결은 Point-to-Point이므로 ①이 옳지 않다.

선지별 해설

  • 1번 ‘④는 Point-to-Point 구조로 볼 수 있다.’는 선택 조건과 다르다. 오답 이유 두 시스템 사이에 전용 인터페이스를 두는 방식은 Point-to-Point다.
  • 2번은 정답 선지다. 정답 근거 Tree는 계층적 연결을 전제로 하므로 모든 시스템의 상호 직접 연결이라는 설명과 맞지 않는다.
  • 3번 ‘②는 Hub & Spoke 구조로 볼 수 있다.’는 선택 조건과 다르다. 오답 이유 중앙 허브가 여러 스포크 시스템의 연결과 메시지 전달을 조정하는 형태는 Hub & Spoke다.
  • 4번 ‘③은 Message Bus 구조로 볼 수 있다.’는 선택 조건과 다르다. 오답 이유 여러 시스템이 공통 버스에 메시지를 발행하고 구독하는 형태는 Message Bus다.

정답 판정: 정답 판정: 정답은 2번이다. 모든 시스템이 서로 직접 연결되는 구조는 완전 연결에 가까우며 계층적 부모-자식 연결을 뜻하는 Tree의 특징이 아니다. 중앙 중개자는 Hub & Spoke, 공통 채널은 Message Bus, 전용 1:1 연결은 Point-to-Point이므로 ①이 옳지 않다. 검증 기준: ①은 Tree 구조의 특징이다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 35 판정 근거: 정답은 2번이다. 모든 시스템이 서로 직접 연결되는 구조는 완전 연결에 가까우며 계층적 부모-자식 연결을 뜻하는 Tree의 특징이 아니다. 중앙 중개자는 Hub & Spoke, 공통 채널은 Message Bus, 전용 1:1 연결은 Point-to-Point이므로 ①이 옳지 않다.

36. 개발·시험 담당자가 다음 사례를 검토한다. 조건문이 (회원 && 쿠폰) || 관리자 이다. 모든 논리 분기 결과를 한 번 이상 확인하려는 최소 기준은?

  1. 문장 커버리지
  2. 분기 커버리지
  3. 변경 영향 분석
  4. 회귀 시험 목록
정답과 해설 보기

정답: 2

정답은 2번이다. 분기 커버리지는 각 결정의 참과 거짓 결과가 한 번 이상 실행됐는지 측정한다. 따라서 조건식의 양쪽 결과를 모두 확인하려는 기준에 분류된다.

선지별 해설

  • 1번 ‘문장 커버리지’는 선택 조건과 다르다. 오답 이유 문장 커버리지는 실행문 수행 여부를 보지만 각 분기의 양쪽 결과를 보장하지 않는다.
  • 2번은 정답 선지다. 정답 근거 각 결정의 참·거짓 결과가 한 번 이상 실행되는지를 측정한다.
  • 3번 ‘변경 영향 분석’는 선택 조건과 다르다. 오답 이유 변경 영향 분석은 수정 범위를 찾는 활동이지 실행 경로 측정 기준이 아니다.
  • 4번 ‘회귀 시험 목록’는 선택 조건과 다르다. 오답 이유 회귀 시험 목록은 기존 기능 재검증 범위이며 논리 분기 충족률 자체가 아니다.

정답 판정: 정답 판정: 정답은 2번이다. 분기 커버리지는 각 결정의 참과 거짓 결과가 한 번 이상 실행됐는지 측정한다. 따라서 조건식의 양쪽 결과를 모두 확인하려는 기준에 분류된다. 검증 기준: 분기 커버리지의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 36 판정 근거: 정답은 2번이다. 분기 커버리지는 각 결정의 참과 거짓 결과가 한 번 이상 실행됐는지 측정한다. 따라서 조건식의 양쪽 결과를 모두 확인하려는 기준에 분류된다.

독립 계산·실행 추적: 전체 판정식의 참·거짓 분기를 각각 실행하는 최소 구조 기준은 분기 커버리지다.

37. 개발·시험 담당자가 다음 사례를 검토한다. 승인된 변경 요청 CR-37만 기준선에 반영하려 한다. 형상 통제의 올바른 절차는?

  1. 변경 기록 없이 소스만 수정한다
  2. 감사 결과와 무관하게 이전 버전을 삭제한다
  3. 영향 분석과 승인 후 변경·기록한다
  4. 요청 즉시 모든 기준선을 덮어쓴다
정답과 해설 보기

정답: 3

정답은 3번이다. 형상 통제는 변경 요청의 영향 분석, 승인, 구현, 확인, 상태 기록을 거쳐 기준선을 갱신한다.

선지별 해설

  • 1번 ‘변경 기록 없이 소스만 수정한다’는 선택 조건과 다르다. 오답 이유 상태 기록이 없으면 변경 추적성과 재현성이 사라진다.
  • 2번 ‘감사 결과와 무관하게 이전 버전을 삭제한다’는 선택 조건과 다르다. 오답 이유 이전 버전 삭제는 복구와 형상 감사의 근거를 없앤다.
  • 3번은 정답 선지다. 정답 근거 변경 영향과 비용을 검토하고 권한 있는 위원회 승인 뒤 구현·상태 기록을 남긴다.
  • 4번 ‘요청 즉시 모든 기준선을 덮어쓴다’는 선택 조건과 다르다. 오답 이유 즉시 반영하면 미승인 변경과 기준선 훼손을 막을 수 없다.

정답 판정: 정답 판정: 정답은 3번이다. 형상 통제는 변경 요청의 영향 분석, 승인, 구현, 확인, 상태 기록을 거쳐 기준선을 갱신한다. 검증 기준: 영향 분석과 승인 후 변경·기록한다의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 37 판정 근거: 정답은 3번이다. 형상 통제는 변경 요청의 영향 분석, 승인, 구현, 확인, 상태 기록을 거쳐 기준선을 갱신한다.

38. 개발·시험 담당자가 다음 사례를 검토한다. 다음 중 자동화된 단위 테스트 프레임워크로 사용하기 가장 어려운 것은?

  1. HTTP 요청 결과를 단언하는 HttpUnit
  2. 대규모 동시 접속 부하를 측정하는 JMeter
  3. C++ 함수에 단언을 실행하는 CppUnit
  4. Java 메서드를 테스트하는 JUnit
정답과 해설 보기

정답: 2

정답은 2번이다. CppUnit과 JUnit은 대표적인 xUnit 계열 테스트 프레임워크이며 HttpUnit도 HTTP 기반 코드의 자동 검증에 사용할 수 있다. JMeter는 주로 다수 사용자의 요청을 만들어 성능과 부하를 측정하는 도구이므로 개별 코드 단위를 검증하는 프레임워크로는 가장 적절하지 않다.

선지별 해설

  • 1번 ‘HTTP 요청 결과를 단언하는 HttpUnit’는 선택 조건과 다르다. 오답 이유 HttpUnit은 HTTP 응답과 웹 상호작용을 프로그램적으로 검사하는 테스트 도구다.
  • 2번은 정답 선지다. 정답 근거 JMeter는 자동화 도구이지만 주된 용도는 동시 요청에 대한 부하·성능 시험이며 개별 함수나 메서드의 단위 테스트 러너와는 목적이 다르다.
  • 3번 ‘C++ 함수에 단언을 실행하는 CppUnit’는 선택 조건과 다르다. 오답 이유 CppUnit은 C++ 테스트 픽스처와 단언을 구성해 자동 단위 테스트를 실행할 수 있다.
  • 4번 ‘Java 메서드를 테스트하는 JUnit’는 선택 조건과 다르다. 오답 이유 JUnit은 Java 코드의 테스트 생명주기와 단언을 제공하는 단위 테스트 프레임워크다.

정답 판정: 정답 판정: 정답은 2번이다. CppUnit과 JUnit은 대표적인 xUnit 계열 테스트 프레임워크이며 HttpUnit도 HTTP 기반 코드의 자동 검증에 사용할 수 있다. JMeter는 주로 다수 사용자의 요청을 만들어 성능과 부하를 측정하는 도구이므로 개별 코드 단위를 검증하는 프레임워크로는 가장 적절하지 않다. 검증 기준: 대규모 동시 접속 부하를 측정하는 JMeter의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 38 판정 근거: 정답은 2번이다. CppUnit과 JUnit은 대표적인 xUnit 계열 테스트 프레임워크이며 HttpUnit도 HTTP 기반 코드의 자동 검증에 사용할 수 있다. JMeter는 주로 다수 사용자의 요청을 만들어 성능과 부하를 측정하는 도구이므로 개별 코드 단위를 검증하는 프레임워크로는 가장 적절하지 않다.

39. 개발·시험 담당자가 다음 사례를 검토한다. 콘텐츠가 사용자별 만료일과 허용 기기 수를 확인한 뒤 복호화 키를 제공한다. 이 통제의 핵심은?

  1. DRM 라이선스 집행
  2. 단순 파일 압축
  3. 네트워크 라우팅
  4. 메모리 페이징
정답과 해설 보기

정답: 1

정답은 1번이다. DRM은 암호화된 콘텐츠와 라이선스 정책을 결합해 허용된 이용자·기기·기간에서만 키를 제공한다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 콘텐츠 키 사용 여부를 이용 권리·기간·기기 조건과 연결해 집행한다.
  • 2번 ‘단순 파일 압축’는 선택 조건과 다르다. 오답 이유 압축은 저장 크기를 줄이지만 이용 권리와 복호화 권한을 판단하지 않는다.
  • 3번 ‘네트워크 라우팅’는 선택 조건과 다르다. 오답 이유 라우팅은 패킷 경로를 선택하며 콘텐츠 라이선스를 확인하지 않는다.
  • 4번 ‘메모리 페이징’는 선택 조건과 다르다. 오답 이유 페이징은 가상 메모리 관리 기법으로 저작물 이용 조건과 무관하다.

정답 판정: 정답 판정: 정답은 1번이다. DRM은 암호화된 콘텐츠와 라이선스 정책을 결합해 허용된 이용자·기기·기간에서만 키를 제공한다. 검증 기준: DRM 라이선스 집행의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 39 판정 근거: 정답은 1번이다. DRM은 암호화된 콘텐츠와 라이선스 정책을 결합해 허용된 이용자·기기·기간에서만 키를 제공한다.

40. 개발·시험 담당자가 다음 사례를 검토한다. 다음 중 문제를 여러 부분 문제로 나누어 해를 결합하는 알고리즘 설계 전략과 같은 범주로 보기 어려운 것은?

  1. 분할 정복
  2. 동적 계획법
  3. 링커의 재배치 주소 수정
  4. 백트래킹
정답과 해설 보기

정답: 3

정답은 3번이다. 분할 정복, 동적 계획법, 백트래킹은 문제의 탐색 공간이나 부분 문제를 조직하는 알고리즘 설계 전략이다. 링커의 재배치는 목적 파일의 주소를 실제 배치 위치에 맞추는 시스템 소프트웨어 처리이므로 ③은 설계 기법이 아니다.

선지별 해설

  • 1번 ‘분할 정복’는 선택 조건과 다르다. 오답 이유 분할 정복은 독립적인 부분 문제로 나누어 해결한 결과를 결합한다.
  • 2번 ‘동적 계획법’는 선택 조건과 다르다. 오답 이유 동적 계획법은 중복되는 부분 문제의 결과를 저장해 재사용하는 설계 전략이다.
  • 3번은 정답 선지다. 정답 근거 재배치 주소 수정은 링크 과정의 주소 결정 작업이며 문제 해결 알고리즘 설계 전략이 아니다.
  • 4번 ‘백트래킹’는 선택 조건과 다르다. 오답 이유 백트래킹은 후보를 탐색하다 제약을 위반하면 이전 선택으로 돌아가는 설계 전략이다.

정답 판정: 정답 판정: 정답은 3번이다. 분할 정복, 동적 계획법, 백트래킹은 문제의 탐색 공간이나 부분 문제를 조직하는 알고리즘 설계 전략이다. 링커의 재배치는 목적 파일의 주소를 실제 배치 위치에 맞추는 시스템 소프트웨어 처리이므로 ③은 설계 기법이 아니다. 검증 기준: 링커의 재배치 주소 수정의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 40 판정 근거: 정답은 3번이다. 분할 정복, 동적 계획법, 백트래킹은 문제의 탐색 공간이나 부분 문제를 조직하는 알고리즘 설계 전략이다. 링커의 재배치는 목적 파일의 주소를 실제 배치 위치에 맞추는 시스템 소프트웨어 처리이므로 ③은 설계 기법이 아니다.

정보처리기사 필기 기출문제 · 데이터베이스 구축

41. 데이터베이스 설계자가 다음 조건을 확인한다. 릴레이션 R(A, B, C, D, E)에 함수 종속 F={A→B, BC→D, D→E, E→A}가 성립할 때 후보키는?

  1. AB
  2. BD
  3. DE
  4. AC
정답과 해설 보기

정답: 4

정답은 4번이다. AC의 속성 폐쇄를 구하면 A→B로 B를 얻고, B와 C가 있으므로 BC→D로 D를 얻은 뒤 D→E로 E까지 얻어 R의 모든 속성이 포함됩니다. A만으로는 C를 얻지 못하고 C만으로도 나머지 속성을 얻지 못하므로 AC는 최소성을 만족합니다. AB는 C·D·E를, BD와 DE는 C를 결정하지 못하므로 후보키가 아닙니다.

선지별 해설

  • 1번 ‘AB’는 선택 조건과 다르다. 오답 이유 (AB)+는 {A,B}에 머물러 C를 얻지 못하고, 따라서 BC→D도 적용할 수 없다.
  • 2번 ‘BD’는 선택 조건과 다르다. 오답 이유 (BD)+는 D→E와 E→A, A→B를 적용해 {A,B,D,E}가 되지만 C가 없다.
  • 3번 ‘DE’는 선택 조건과 다르다. 오답 이유 (DE)+는 E→A와 A→B를 적용해 {A,B,D,E}가 되지만 C가 없어 전체 속성을 결정하지 못한다.
  • 4번은 정답 선지다. 정답 근거 (AC)+는 A→B, BC→D, D→E를 차례로 적용해 {A,B,C,D,E}가 되며 A 또는 C를 제거하면 전체 속성을 결정하지 못하므로 후보키다.

정답 판정: 정답 판정: 정답은 4번이다. AC의 속성 폐쇄를 구하면 A→B로 B를 얻고, B와 C가 있으므로 BC→D로 D를 얻은 뒤 D→E로 E까지 얻어 R의 모든 속성이 포함됩니다. A만으로는 C를 얻지 못하고 C만으로도 나머지 속성을 얻지 못하므로 AC는 최소성을 만족합니다. AB는 C·D·E를, BD와 DE는 C를 결정하지 못하므로 후보키가 아닙니다. 검증 기준: AC의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 41 판정 근거: 정답은 4번이다. AC의 속성 폐쇄를 구하면 A→B로 B를 얻고, B와 C가 있으므로 BC→D로 D를 얻은 뒤 D→E로 E까지 얻어 R의 모든 속성이 포함됩니다. A만으로는 C를 얻지 못하고 C만으로도 나머지 속성을 얻지 못하므로 AC는 최소성을 만족합니다. AB는 C·D·E를, BD와 DE는 C를 결정하지 못하므로 후보키가 아닙니다.

독립 계산·실행 추적: AC+에서 B,D,E를 모두 얻고 A나 C 어느 하나를 빼면 전 속성을 얻지 못하므로 AC가 후보키다.

42. 데이터베이스 설계자가 다음 조건을 확인한다. PostgreSQL에서 다음 명령을 실행한 결과로 타당한 설명을 고르면? CREATE VIEW active_orders AS SELECT * FROM orders WHERE status = 'ACTIVE'; CREATE VIEW active_order_summary AS SELECT customer_id, count(*) FROM active_orders GROUP BY customer_id; DROP VIEW active_orders CASCADE;

  1. active_orders와 active_order_summary가 모두 삭제된다.
  2. 종속 뷰가 있으므로 두 뷰 모두 삭제되지 않는다.
  3. active_orders만 삭제된다.
  4. active_order_summary만 삭제된다.
정답과 해설 보기

정답: 1

정답은 1번이다. active_order_summary는 active_orders에 의존한다. DROP VIEW active_orders CASCADE는 대상 뷰와 그 뷰에 의존하는 객체를 연쇄 삭제하므로 두 뷰가 모두 삭제되어 ③이 정답으로 판정된다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 대상 뷰와 종속 뷰를 모두 제거하는 CASCADE의 의미를 정확히 반영한다.
  • 2번 ‘종속 뷰가 있으므로 두 뷰 모두 삭제되지 않는다.’는 선택 조건과 다르다. 오답 이유 종속 객체 때문에 삭제를 거부하는 동작은 RESTRICT일 때이며 CASCADE와 다르다.
  • 3번 ‘active_orders만 삭제된다.’는 선택 조건과 다르다. 오답 이유 CASCADE를 지정했으므로 대상 뷰에 의존하는 active_order_summary도 함께 제거된다.
  • 4번 ‘active_order_summary만 삭제된다.’는 선택 조건과 다르다. 오답 이유 의존 뷰만 남기고 기반 뷰를 유지하는 동작이 아니며 DROP 대상 active_orders도 삭제된다.

정답 판정: 정답 판정: 정답은 1번이다. active_order_summary는 active_orders에 의존한다. DROP VIEW active_orders CASCADE는 대상 뷰와 그 뷰에 의존하는 객체를 연쇄 삭제하므로 두 뷰가 모두 삭제되어 ③이 정답으로 판정된다. 검증 기준: active_orders와 active_order_summary가 모두 삭제된다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 42 판정 근거: 정답은 1번이다. active_order_summary는 active_orders에 의존한다. DROP VIEW active_orders CASCADE는 대상 뷰와 그 뷰에 의존하는 객체를 연쇄 삭제하므로 두 뷰가 모두 삭제되어 ③이 정답으로 판정된다.

독립 계산·실행 추적: CASCADE는 active_orders에 의존하는 active_order_summary까지 함께 제거한다.

43. 데이터베이스 설계자가 다음 조건을 확인한다. 다음 튜플 관계해석 식에서 기호 ∀가 나타내는 의미는? { c | CUSTOMER(c) ∧ ∀p (REQUIRED_PRODUCT(p) → ∃o ORDERED(c, p, o)) }

  1. 진부분집합이다
  2. 어떤 것이 존재한다
  3. 원소로 속한다
  4. 모든 것에 대하여
정답과 해설 보기

정답: 4

정답은 4번이다. ∀는 전칭 정량자로 ‘모든 것에 대하여’를 뜻한다. 식은 각 고객 c가 모든 필수 상품 p에 대해 주문 관계를 하나 이상 갖는지를 표현하므로 ③이 정답으로 판정된다.

선지별 해설

  • 1번 ‘진부분집합이다’는 선택 조건과 다르다. 오답 이유 진부분집합 관계는 ⊂ 등의 집합 기호로 나타내며 정량자가 아니다.
  • 2번 ‘어떤 것이 존재한다’는 선택 조건과 다르다. 오답 이유 ‘어떤 것이 존재한다’는 존재 정량자 ∃의 의미다.
  • 3번 ‘원소로 속한다’는 선택 조건과 다르다. 오답 이유 원소 관계는 ∈ 기호로 나타내며 전칭 정량자와 다르다.
  • 4번은 정답 선지다. 정답 근거 ∀는 뒤따르는 변수의 모든 가능한 값에 조건이 성립해야 함을 표현한다.

정답 판정: 정답 판정: 정답은 4번이다. ∀는 전칭 정량자로 ‘모든 것에 대하여’를 뜻한다. 식은 각 고객 c가 모든 필수 상품 p에 대해 주문 관계를 하나 이상 갖는지를 표현하므로 ③이 정답으로 판정된다. 검증 기준: 모든 것에 대하여의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 43 판정 근거: 정답은 4번이다. ∀는 전칭 정량자로 ‘모든 것에 대하여’를 뜻한다. 식은 각 고객 c가 모든 필수 상품 p에 대해 주문 관계를 하나 이상 갖는지를 표현하므로 ③이 정답으로 판정된다.

독립 계산·실행 추적: ∀는 뒤 조건이 모든 p에 대해 성립해야 함을 뜻한다.

44. 데이터베이스 설계자가 다음 조건을 확인한다. SALES(dept, amount)에 (A,5), (A,15), (B,25)가 있다. 부서별 합계가 20 이상인 부서만 조회할 조건 위치는? SELECT dept, SUM(amount) FROM SALES GROUP BY dept HAVING SUM(amount) >= 20;

  1. GROUP BY 앞 HAVING
  2. SELECT 뒤 WHERE
  3. ORDER BY 뒤 WHERE
  4. GROUP BY 뒤 HAVING
정답과 해설 보기

정답: 4

정답은 4번이다. 집계된 SUM(amount)에 대한 조건은 그룹 생성 뒤 HAVING에서 평가한다. 반면 “SELECT 뒤 WHERE”는 WHERE는 그룹화 전 개별 행을 제한하며 SELECT 뒤에 쓰지 않는다.

선지별 해설

  • 1번 ‘GROUP BY 앞 HAVING’는 선택 조건과 다르다. 오답 이유 HAVING은 GROUP BY 결과에 적용되므로 그 앞에 둘 수 없다.
  • 2번 ‘SELECT 뒤 WHERE’는 선택 조건과 다르다. 오답 이유 WHERE는 그룹화 전 개별 행을 제한하며 SELECT 뒤에 쓰지 않는다.
  • 3번 ‘ORDER BY 뒤 WHERE’는 선택 조건과 다르다. 오답 이유 WHERE는 ORDER BY 뒤에 배치되지 않고 집계 결과 조건에도 맞지 않는다.
  • 4번은 정답 선지다. 정답 근거 집계된 SUM(amount)에 대한 조건은 그룹 생성 뒤 HAVING에서 평가한다.

정답 판정: 정답 판정: 정답은 4번이다. 집계된 SUM(amount)에 대한 조건은 그룹 생성 뒤 HAVING에서 평가한다. 반면 “SELECT 뒤 WHERE”는 WHERE는 그룹화 전 개별 행을 제한하며 SELECT 뒤에 쓰지 않는다. 검증 기준: GROUP BY 뒤 HAVING의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 44 판정 근거: 정답은 4번이다. 집계된 SUM(amount)에 대한 조건은 그룹 생성 뒤 HAVING에서 평가한다. 반면 “SELECT 뒤 WHERE”는 WHERE는 그룹화 전 개별 행을 제한하며 SELECT 뒤에 쓰지 않는다.

독립 계산·실행 추적: 그룹 집계 SUM(amount)에 대한 조건은 GROUP BY 뒤 HAVING에 둔다.

45. 데이터베이스 설계자가 다음 조건을 확인한다. 데이터베이스 개념적 설계 단계의 작업으로 보기 어려운 것은?

  1. DBMS에 독립적인 개념 스키마를 E-R 모델로 표현한다.
  2. 사용자 화면의 버튼 배치와 API 호출 순서를 구현 수준으로 확정한다.
  3. 업무 규칙을 개체·속성·관계의 제약으로 정리한다.
  4. 업무 개체와 개체 사이의 관계를 식별한다.
정답과 해설 보기

정답: 2

정답은 2번이다. 개념적 설계는 특정 DBMS나 사용자 인터페이스 구현과 독립적으로 업무 개체, 관계, 제약을 모델링한다. 화면 버튼과 API 호출 순서는 응용 프로그램·인터페이스 설계에 가까우므로 ③이 개념적 설계 작업이 아니다.

선지별 해설

  • 1번 ‘DBMS에 독립적인 개념 스키마를 E-R 모델로 표현한다.’는 선택 조건과 다르다. 오답 이유 E-R 모델은 DBMS에 독립적인 개념 스키마 표현에 사용할 수 있다.
  • 2번은 정답 선지다. 정답 근거 화면 배치와 API 호출 순서는 응용 인터페이스 구현 결정이며 개념 스키마 설계 범위를 벗어난다.
  • 3번 ‘업무 규칙을 개체·속성·관계의 제약으로 정리한다.’는 선택 조건과 다르다. 오답 이유 업무 제약을 개체와 관계에 반영해야 개념 모델이 업무 의미를 보존할 수 있다.
  • 4번 ‘업무 개체와 개체 사이의 관계를 식별한다.’는 선택 조건과 다르다. 오답 이유 업무 개체와 관계 식별은 현실 세계의 의미 구조를 개념 모델로 옮기는 핵심 작업이다.

정답 판정: 정답 판정: 정답은 2번이다. 개념적 설계는 특정 DBMS나 사용자 인터페이스 구현과 독립적으로 업무 개체, 관계, 제약을 모델링한다. 화면 버튼과 API 호출 순서는 응용 프로그램·인터페이스 설계에 가까우므로 ③이 개념적 설계 작업이 아니다. 검증 기준: 사용자 화면의 버튼 배치와 API 호출 순서를 구현 수준으로 확정한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 45 판정 근거: 정답은 2번이다. 개념적 설계는 특정 DBMS나 사용자 인터페이스 구현과 독립적으로 업무 개체, 관계, 제약을 모델링한다. 화면 버튼과 API 호출 순서는 응용 프로그램·인터페이스 설계에 가까우므로 ③이 개념적 설계 작업이 아니다.

46. 데이터베이스 설계자가 다음 조건을 확인한다. CUSTOMER는 3행이고 각 고객이 ORDER를 2행씩 가진다. 두 테이블을 customer_id로 INNER JOIN한 결과 행 수는?

  1. 9행
  2. 6행
  3. 2행
  4. 3행
정답과 해설 보기

정답: 2

정답은 2번이다. INNER JOIN은 같은 customer_id를 가진 행 쌍만 만든다.

선지별 해설

  • 1번 ‘9행’는 선택 조건과 다르다. 오답 이유 9행은 모든 고객·주문을 임의 조합한 값이며 조인 조건을 무시했다.
  • 2번은 정답 선지다. 정답 근거 각 고객당 일치 주문 2행이므로 3×2=6개의 결합 행이 생긴다.
  • 3번 ‘2행’는 선택 조건과 다르다. 오답 이유 2행은 고객 한 명의 주문 수만 센 값이다.
  • 4번 ‘3행’는 선택 조건과 다르다. 오답 이유 3행은 고객 수만 센 값으로 일대다 조인 결과를 반영하지 않는다.

정답 판정: 정답 판정: 정답은 2번이다. INNER JOIN은 같은 customer_id를 가진 행 쌍만 만든다. 검증 기준: 6행의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 46 판정 근거: 정답은 2번이다. INNER JOIN은 같은 customer_id를 가진 행 쌍만 만든다.

독립 계산·실행 추적: 고객 3명마다 주문 2행이 대응하므로 INNER JOIN 결과는 3×2=6행이다.

47. 데이터베이스 설계자가 다음 조건을 확인한다. 릴레이션이 제3정규형을 만족하지만 비자명 함수 종속 X→Y에서 결정자 X가 슈퍼키가 아니다. BCNF로 만들 때 필요한 조치는?

  1. 각 속성 도메인을 원자값으로 바꾼다.
  2. 슈퍼키가 아닌 결정자 X가 남지 않도록 릴레이션을 분해한다.
  3. 모든 이행 종속만 다시 제거하면 충분하다.
  4. 복합키의 부분 종속만 제거한다.
정답과 해설 보기

정답: 2

정답은 2번이다. BCNF에서는 모든 비자명 함수 종속 X→Y의 결정자 X가 슈퍼키여야 한다. 제시된 종속은 이 조건을 위반하므로 X→Y를 기준으로 무손실 분해해 위반 종속을 제거해야 한다.

선지별 해설

  • 1번 ‘각 속성 도메인을 원자값으로 바꾼다.’는 선택 조건과 다르다. 오답 이유 도메인의 원자값 보장은 제1정규형의 조건으로, 결정자의 슈퍼키 여부와는 별개다.
  • 2번은 정답 선지다. 정답 근거 BCNF 위반 종속 X→Y를 기준으로 무손실 분해해 슈퍼키가 아닌 결정자를 제거해야 한다.
  • 3번 ‘모든 이행 종속만 다시 제거하면 충분하다.’는 선택 조건과 다르다. 오답 이유 제3정규형을 이미 만족하므로 이행 종속만 다시 제거해도 BCNF 위반 결정자는 남을 수 있다.
  • 4번 ‘복합키의 부분 종속만 제거한다.’는 선택 조건과 다르다. 오답 이유 부분 함수 종속 제거는 제2정규형의 기준이며 현재 제시된 BCNF 위반을 직접 해결하지 않는다.

정답 판정: 정답 판정: 정답은 2번이다. BCNF에서는 모든 비자명 함수 종속 X→Y의 결정자 X가 슈퍼키여야 한다. 제시된 종속은 이 조건을 위반하므로 X→Y를 기준으로 무손실 분해해 위반 종속을 제거해야 한다. 검증 기준: 슈퍼키가 아닌 결정자 X가 남지 않도록 릴레이션을 분해한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 47 판정 근거: 정답은 2번이다. BCNF에서는 모든 비자명 함수 종속 X→Y의 결정자 X가 슈퍼키여야 한다. 제시된 종속은 이 조건을 위반하므로 X→Y를 기준으로 무손실 분해해 위반 종속을 제거해야 한다.

48. 데이터베이스 설계자가 다음 조건을 확인한다. employee(emp_id PRIMARY KEY, name, dept_id, salary) 테이블에서 기본키의 NULL 금지라는 개체 무결성을 직접 위반하는 입력은? dept_id에는 별도의 외래 키, salary에는 별도의 도메인 제약이 있다고 가정한다.

  1. emp_id=NULL, name='Kim', dept_id=10, salary=3000
  2. emp_id=101, name='Lee', dept_id=999, salary=3000
  3. emp_id=102, name='Park', dept_id=10, salary=-1
  4. emp_id=103, name='Kim', dept_id=10, salary=3000
정답과 해설 보기

정답: 1

정답은 1번이다. 기본키는 각 행을 식별하므로 UNIQUE이면서 NOT NULL이어야 한다. ①은 emp_id가 NULL이라 기본키의 개체 무결성을 직접 위반한다. ②는 참조 무결성, ③은 도메인 제약 문제이며 ④는 이름 중복만으로 기본키를 위반하지 않는다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 기본키 emp_id에 NULL을 넣으므로 기본키의 NOT NULL 조건과 개체 무결성을 위반한다.
  • 2번 ‘emp_id=101, name='Lee', dept_id=999, salary=3000’는 선택 조건과 다르다. 오답 이유 존재하지 않는 부서 키라면 외래 키에 관한 참조 무결성 위반이지 기본키 NULL 위반이 아니다.
  • 3번 ‘emp_id=102, name='Park', dept_id=10, salary=-1’는 선택 조건과 다르다. 오답 이유 음수 급여가 금지되었다면 CHECK나 도메인 무결성 위반에 분류된다.
  • 4번 ‘emp_id=103, name='Kim', dept_id=10, salary=3000’는 선택 조건과 다르다. 오답 이유 기본키가 서로 다르면 비키 속성 name의 중복은 개체 무결성 위반이 아니다.

정답 판정: 정답 판정: 정답은 1번이다. 기본키는 각 행을 식별하므로 UNIQUE이면서 NOT NULL이어야 한다. ①은 emp_id가 NULL이라 기본키의 개체 무결성을 직접 위반한다. ②는 참조 무결성, ③은 도메인 제약 문제이며 ④는 이름 중복만으로 기본키를 위반하지 않는다. 검증 기준: emp_id=NULL, name='Kim', dept_id=10, salary=3000의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 48 판정 근거: 정답은 1번이다. 기본키는 각 행을 식별하므로 UNIQUE이면서 NOT NULL이어야 한다. ①은 emp_id가 NULL이라 기본키의 개체 무결성을 직접 위반한다. ②는 참조 무결성, ③은 도메인 제약 문제이며 ④는 이름 중복만으로 기본키를 위반하지 않는다.

독립 계산·실행 추적: 기본키 emp_id에 NULL을 넣는 첫 입력이 개체 무결성을 직접 위반한다.

49. 데이터베이스 설계자가 다음 조건을 확인한다. 릴레이션 R(주문번호, 상품번호, 상품명)에서 키는 (주문번호, 상품번호)이고 상품번호→상품명이 성립한다. 우선 제거할 종속은?

  1. 다치 종속
  2. 조인 종속
  3. 부분 함수 종속
  4. 이행 함수 종속
정답과 해설 보기

정답: 3

정답은 3번이다. 복합 후보키의 일부인 상품번호만으로 상품명이 결정되므로 제2정규형을 위반하는 부분 함수 종속이다.

선지별 해설

  • 1번 ‘다치 종속’는 선택 조건과 다르다. 오답 이유 하나의 키에 독립적인 다중 값 집합이 종속되는 상황이 아니다.
  • 2번 ‘조인 종속’는 선택 조건과 다르다. 오답 이유 무손실 분해 결과를 여러 릴레이션 조인으로만 복원하는 제약이 아니다.
  • 3번은 정답 선지다. 정답 근거 상품명은 복합키 전체가 아니라 일부인 상품번호에만 종속된다.
  • 4번 ‘이행 함수 종속’는 선택 조건과 다르다. 오답 이유 비키 속성을 거쳐 다른 비키 속성에 종속되는 구조가 제시되지 않았다.

정답 판정: 정답 판정: 정답은 3번이다. 복합 후보키의 일부인 상품번호만으로 상품명이 결정되므로 제2정규형을 위반하는 부분 함수 종속이다. 검증 기준: 부분 함수 종속의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 49 판정 근거: 정답은 3번이다. 복합 후보키의 일부인 상품번호만으로 상품명이 결정되므로 제2정규형을 위반하는 부분 함수 종속이다.

50. 데이터베이스 설계자가 다음 조건을 확인한다. 두 트랜잭션이 같은 잔액 104을 읽고 각각 +10, -5를 계산한 뒤 마지막 값으로 덮어썼다. 발생 가능한 이상은?

  1. 팬텀 리드
  2. 교착 상태
  3. 더티 리드
  4. 갱신 분실
정답과 해설 보기

정답: 4

정답은 4번이다. 같은 이전 잔액을 기준으로 계산한 두 결과가 차례로 저장되면 한 갱신의 효과가 덮어써진다.

선지별 해설

  • 1번 ‘팬텀 리드’는 선택 조건과 다르다. 오답 이유 팬텀 리드는 같은 범위 질의에서 행 집합이 달라지는 현상이다.
  • 2번 ‘교착 상태’는 선택 조건과 다르다. 오답 이유 서로 상대 자원을 기다리는 순환 대기 조건은 제시되지 않았다.
  • 3번 ‘더티 리드’는 선택 조건과 다르다. 오답 이유 더티 리드는 커밋하지 않은 다른 트랜잭션 값을 읽는 현상이다.
  • 4번은 정답 선지다. 정답 근거 두 계산 중 먼저 기록된 갱신이 나중 기록에 덮여 사라질 수 있다.

정답 판정: 정답 판정: 정답은 4번이다. 같은 이전 잔액을 기준으로 계산한 두 결과가 차례로 저장되면 한 갱신의 효과가 덮어써진다. 검증 기준: 갱신 분실의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 50 판정 근거: 정답은 4번이다. 같은 이전 잔액을 기준으로 계산한 두 결과가 차례로 저장되면 한 갱신의 효과가 덮어써진다.

독립 계산·실행 추적: 동일한 이전 값을 바탕으로 계산한 갱신이 서로를 덮어써 갱신 분실이 발생한다.

51. 데이터베이스 설계자가 다음 조건을 확인한다. MEMBER(id, email, name)에서 id와 email이 각각 유일하고 최소하며 id를 기본키로 선택했다. email의 키 종류는?

  1. 대체키
  2. 외래키
  3. 부분키
  4. 복합 슈퍼키
정답과 해설 보기

정답: 1

정답은 1번이다. email도 행을 유일하게 식별하고 최소성을 만족하므로 후보키다. 다만 id가 기본키로 선택됐으므로 email은 대체키가 된다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 email은 후보키지만 기본키로 선택되지 않았으므로 대체키다.
  • 2번 ‘외래키’는 선택 조건과 다르다. 오답 이유 다른 릴레이션의 키를 참조한다는 조건이 없어 외래키가 아니다.
  • 3번 ‘부분키’는 선택 조건과 다르다. 오답 이유 약한 개체를 소유자 키와 함께 식별하는 부분키 상황이 아니다.
  • 4번 ‘복합 슈퍼키’는 선택 조건과 다르다. 오답 이유 email 하나가 최소성을 만족하므로 여분 속성을 가진 복합 슈퍼키가 아니다.

정답 판정: 정답 판정: 정답은 1번이다. email도 행을 유일하게 식별하고 최소성을 만족하므로 후보키다. 다만 id가 기본키로 선택됐으므로 email은 대체키가 된다. 검증 기준: 대체키의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 51 판정 근거: 정답은 1번이다. email도 행을 유일하게 식별하고 최소성을 만족하므로 후보키다. 다만 id가 기본키로 선택됐으므로 email은 대체키가 된다.

52. 데이터베이스 설계자가 다음 조건을 확인한다. DELETE FROM 주문;과 DROP TABLE 주문;을 비교한 기술로 적절하지 않은 설명을 고르면?

  1. DELETE는 조건이 없으면 주문 테이블의 모든 행을 대상으로 한다.
  2. 두 명령 모두 테이블 정의와 제약조건까지 동일하게 제거한다.
  3. DELETE는 행을 조작하는 DML로 분류한다.
  4. DROP TABLE은 주문 테이블 객체 자체를 제거한다.
정답과 해설 보기

정답: 2

정답은 2번이다. 조건 없는 DELETE는 모든 행을 삭제하지만 테이블 구조와 제약조건은 남긴다. DROP TABLE은 테이블 객체를 제거하므로 효과가 동일하다는 ②가 틀리다.

선지별 해설

  • 1번 ‘DELETE는 조건이 없으면 주문 테이블의 모든 행을 대상으로 한다.’는 선택 조건과 다르다. 오답 이유 WHERE가 없으면 DELETE의 대상은 테이블에 존재하는 모든 행이다.
  • 2번은 정답 선지다. 정답 근거 DELETE 뒤에는 테이블 정의가 남지만 DROP TABLE 뒤에는 테이블 객체가 남지 않는다.
  • 3번 ‘DELETE는 행을 조작하는 DML로 분류한다.’는 선택 조건과 다르다. 오답 이유 DELETE는 데이터 행을 변경하는 데이터 조작어다.
  • 4번 ‘DROP TABLE은 주문 테이블 객체 자체를 제거한다.’는 선택 조건과 다르다. 오답 이유 DROP TABLE은 스키마 객체를 제거하는 데이터 정의어다.

정답 판정: 정답 판정: 정답은 2번이다. 조건 없는 DELETE는 모든 행을 삭제하지만 테이블 구조와 제약조건은 남긴다. DROP TABLE은 테이블 객체를 제거하므로 효과가 동일하다는 ②가 틀리다. 검증 기준: 두 명령 모두 테이블 정의와 제약조건까지 동일하게 제거한다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 52 판정 근거: 정답은 2번이다. 조건 없는 DELETE는 모든 행을 삭제하지만 테이블 구조와 제약조건은 남긴다. DROP TABLE은 테이블 객체를 제거하므로 효과가 동일하다는 ②가 틀리다.

독립 계산·실행 추적: DELETE는 행을 지우고 테이블 정의는 남기지만 DROP TABLE은 정의와 종속 객체를 제거한다.

53. 데이터베이스 설계자가 다음 조건을 확인한다. 다음 관계 대수식을 SQL로 옳게 변환한 것은? π상품명(σ재고량 < 5(상품))

  1. SELECT 상품명 FROM 상품 WHERE 재고량 < 5;
  2. SELECT 재고량 FROM 상품 WHERE 상품명 < 5;
  3. SELECT 상품명 FROM 재고량 WHERE 상품 = 5;
  4. SELECT 상품 FROM 상품명 WHERE 재고량 < 5;
정답과 해설 보기

정답: 1

정답은 1번이다. 안쪽의 선택 연산 σ는 상품 릴레이션에서 재고량이 5보다 작은 튜플만 남긴다. 바깥의 투영 연산 π는 그 결과에서 상품명 속성만 선택한다. SQL의 FROM·WHERE·SELECT에 각각 대응시키면 ②가 된다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 FROM 상품, WHERE 재고량 < 5, SELECT 상품명으로 선택과 투영을 정확히 옮겼다.
  • 2번 ‘SELECT 재고량 FROM 상품 WHERE 상품명 < 5;’는 선택 조건과 다르다. 오답 이유 비교 대상과 투영 속성을 서로 바꾸어 관계 대수식의 의미와 달라졌다.
  • 3번 ‘SELECT 상품명 FROM 재고량 WHERE 상품 = 5;’는 선택 조건과 다르다. 오답 이유 재고량은 릴레이션이 아니며 조건도 재고량 < 5여야 하므로 변환이 잘못됐다.
  • 4번 ‘SELECT 상품 FROM 상품명 WHERE 재고량 < 5;’는 선택 조건과 다르다. 오답 이유 릴레이션과 속성의 위치가 뒤바뀌었다. FROM에는 상품 릴레이션, SELECT에는 상품명 속성이 와야 한다.

정답 판정: 정답 판정: 정답은 1번이다. 안쪽의 선택 연산 σ는 상품 릴레이션에서 재고량이 5보다 작은 튜플만 남긴다. 바깥의 투영 연산 π는 그 결과에서 상품명 속성만 선택한다. SQL의 FROM·WHERE·SELECT에 각각 대응시키면 ②가 된다. 검증 기준: SELECT 상품명 FROM 상품 WHERE 재고량 < 5;의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 53 판정 근거: 정답은 1번이다. 안쪽의 선택 연산 σ는 상품 릴레이션에서 재고량이 5보다 작은 튜플만 남긴다. 바깥의 투영 연산 π는 그 결과에서 상품명 속성만 선택한다. SQL의 FROM·WHERE·SELECT에 각각 대응시키면 ②가 된다.

독립 계산·실행 추적: 선택 조건 재고량<5를 WHERE에, 투영 속성 상품명을 SELECT에 둔다.

54. 데이터베이스 설계자가 다음 조건을 확인한다. 여러 지역 노드에 데이터를 나누어 저장하는 분산 데이터베이스의 특성으로 보기 어려운 것은?

  1. 사용자가 실제 저장 위치를 의식하지 않도록 위치 투명성을 제공할 수 있다.
  2. 복제·동시성·장애 처리가 사라져 중앙 데이터베이스보다 설계가 항상 단순하다.
  3. 지역 노드는 허용된 범위에서 자체 데이터를 관리할 수 있다.
  4. 업무 증가에 따라 새 지역 노드를 추가해 확장할 수 있다.
정답과 해설 보기

정답: 2

정답은 2번이다. 분산 데이터베이스는 자치성·확장성·투명성을 제공할 수 있지만 여러 노드의 복제, 동시성, 장애 복구를 조정해야 한다. 설계가 항상 단순하다는 ④는 틀리다.

선지별 해설

  • 1번 ‘사용자가 실제 저장 위치를 의식하지 않도록 위치 투명성을 제공할 수 있다.’는 선택 조건과 다르다. 오답 이유 위치 투명성은 논리 접근과 물리 저장 위치를 분리한다.
  • 2번은 정답 선지다. 정답 근거 분산 구조는 일관성·통신·복구 문제 때문에 설계와 운영이 더 복잡해질 수 있다.
  • 3번 ‘지역 노드는 허용된 범위에서 자체 데이터를 관리할 수 있다.’는 선택 조건과 다르다. 오답 이유 지역 자치성은 분산 데이터베이스가 추구하는 운영 특성이다.
  • 4번 ‘업무 증가에 따라 새 지역 노드를 추가해 확장할 수 있다.’는 선택 조건과 다르다. 오답 이유 노드 추가를 통한 점진적 확장은 분산 구조의 장점이 될 수 있다.

정답 판정: 정답 판정: 정답은 2번이다. 분산 데이터베이스는 자치성·확장성·투명성을 제공할 수 있지만 여러 노드의 복제, 동시성, 장애 복구를 조정해야 한다. 설계가 항상 단순하다는 ④는 틀리다. 검증 기준: 복제·동시성·장애 처리가 사라져 중앙 데이터베이스보다 설계가 항상 단순하다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 54 판정 근거: 정답은 2번이다. 분산 데이터베이스는 자치성·확장성·투명성을 제공할 수 있지만 여러 노드의 복제, 동시성, 장애 복구를 조정해야 한다. 설계가 항상 단순하다는 ④는 틀리다.

55. 데이터베이스 설계자가 다음 조건을 확인한다. LOG 테이블에 status 값이 OK, NULL, FAIL, NULL인 네 행이 있다. COUNT(*)와 COUNT(status)의 결과는?

  1. 4와 2
  2. 2와 4
  3. 4와 4
  4. 2와 2
정답과 해설 보기

정답: 1

정답은 1번이다. COUNT(*)는 행 존재 자체를 세어 4이고 COUNT(status)는 NULL을 제외해 OK와 FAIL 두 행만 센다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 COUNT(*)는 모든 행을 세고 COUNT(status)는 NULL이 아닌 두 값만 센다.
  • 2번 ‘2와 4’는 선택 조건과 다르다. 오답 이유 두 집계의 NULL 처리 방향을 반대로 적용한 값이다.
  • 3번 ‘4와 4’는 선택 조건과 다르다. 오답 이유 COUNT(status)는 NULL 두 행을 제외하므로 4가 될 수 없다.
  • 4번 ‘2와 2’는 선택 조건과 다르다. 오답 이유 COUNT(*)는 NULL 포함 전체 행을 세므로 2가 아니다.

정답 판정: 정답 판정: 정답은 1번이다. COUNT(*)는 행 존재 자체를 세어 4이고 COUNT(status)는 NULL을 제외해 OK와 FAIL 두 행만 센다. 검증 기준: 4와 2의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 55 판정 근거: 정답은 1번이다. COUNT(*)는 행 존재 자체를 세어 4이고 COUNT(status)는 NULL을 제외해 OK와 FAIL 두 행만 센다.

독립 계산·실행 추적: COUNT(*)는 4행, COUNT(status)는 NULL을 제외해 2다.

56. 데이터베이스 설계자가 다음 조건을 확인한다. 각 부서의 최고 급여 직원 이름을 찾되 동률도 모두 표시하려 한다. 가장 적절한 SQL 접근은?

  1. 부서별 MAX 급여를 구한 상관 서브쿼리와 급여를 비교한다
  2. 전체 테이블의 MAX 급여 하나와만 비교한다
  3. 급여를 문자열로 바꿔 사전순 첫 행만 고른다
  4. GROUP BY 없이 임의의 직원 이름과 MAX를 함께 조회한다
정답과 해설 보기

정답: 1

정답은 1번이다. 현재 행의 부서를 서브쿼리에 연결하면 각 부서 최대값과 같은 모든 행을 보존한다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 현재 행의 부서를 서브쿼리에 연결하면 각 부서 최대값과 같은 모든 행을 보존한다.
  • 2번 ‘전체 테이블의 MAX 급여 하나와만 비교한다’는 선택 조건과 다르다. 오답 이유 전체 최대값은 회사 전체 최고 급여만 남겨 부서별 요구를 만족하지 않는다.
  • 3번 ‘급여를 문자열로 바꿔 사전순 첫 행만 고른다’는 선택 조건과 다르다. 오답 이유 문자열 사전순 비교는 수치 최대값과 다르고 동률 보존 근거도 없다.
  • 4번 ‘GROUP BY 없이 임의의 직원 이름과 MAX를 함께 조회한다’는 선택 조건과 다르다. 오답 이유 비집계 열을 근거 없이 함께 조회하면 부서별 최고 직원이 결정되지 않는다.

정답 판정: 정답 판정: 정답은 1번이다. 현재 행의 부서를 서브쿼리에 연결하면 각 부서 최대값과 같은 모든 행을 보존한다. 검증 기준: 부서별 MAX 급여를 구한 상관 서브쿼리와 급여를 비교한다의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 56 판정 근거: 정답은 1번이다. 현재 행의 부서를 서브쿼리에 연결하면 각 부서 최대값과 같은 모든 행을 보존한다.

독립 계산·실행 추적: 부서별 MAX 급여와 각 행 급여를 비교하면 최고 급여 동률도 모두 남는다.

57. 데이터베이스 설계자가 다음 조건을 확인한다. 주문 테이블 customer_id가 고객 테이블 id를 참조한다. 존재하지 않는 고객 번호의 주문 삽입을 막는 제약은?

  1. DEFAULT 제약
  2. CHECK로 주문 금액만 검사
  3. 인덱스 이름 지정
  4. 외래키 제약
정답과 해설 보기

정답: 4

정답은 4번이다. 외래키는 자식 테이블의 참조 값이 부모 테이블의 기본키나 후보키에 존재하도록 제한한다. 따라서 존재하지 않는 고객 번호의 주문 삽입을 막는다.

선지별 해설

  • 1번 ‘DEFAULT 제약’는 선택 조건과 다르다. 오답 이유 DEFAULT는 값이 생략될 때 기본값을 제공할 뿐 부모 행 존재를 확인하지 않는다.
  • 2번 ‘CHECK로 주문 금액만 검사’는 선택 조건과 다르다. 오답 이유 주문 금액 CHECK는 customer_id의 참조 관계를 검증하지 않는다.
  • 3번 ‘인덱스 이름 지정’는 선택 조건과 다르다. 오답 이유 인덱스 이름은 검색 구조 식별자이며 참조 무결성 규칙이 아니다.
  • 4번은 정답 선지다. 정답 근거 외래키는 참조 값이 부모 키에 존재하도록 해 참조 무결성을 유지한다.

정답 판정: 정답 판정: 정답은 4번이다. 외래키는 자식 테이블의 참조 값이 부모 테이블의 기본키나 후보키에 존재하도록 제한한다. 따라서 존재하지 않는 고객 번호의 주문 삽입을 막는다. 검증 기준: 외래키 제약의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 57 판정 근거: 정답은 4번이다. 외래키는 자식 테이블의 참조 값이 부모 테이블의 기본키나 후보키에 존재하도록 제한한다. 따라서 존재하지 않는 고객 번호의 주문 삽입을 막는다.

58. 데이터베이스 설계자가 다음 조건을 확인한다. 릴레이션 R(사번, 부서코드, 부서명)에서 사번이 기본키이고 사번→부서코드, 부서코드→부서명이다. 제거해야 할 종속은?

  1. 비키 속성 사이의 이행 종속
  2. 후보키가 여러 개인 상태
  3. 복합키 일부에 대한 부분 종속
  4. 기본키의 완전 함수 종속
정답과 해설 보기

정답: 1

정답은 1번이다. 사번→부서코드→부서명으로 비키 속성을 거친 이행 종속이 제3정규형을 위반한다. 반면 “후보키가 여러 개인 상태”는 제시된 조건에는 다른 후보키가 있다는 정보가 없다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 사번→부서코드→부서명으로 비키 속성을 거친 이행 종속이 제3정규형을 위반한다.
  • 2번 ‘후보키가 여러 개인 상태’는 선택 조건과 다르다. 오답 이유 제시된 조건에는 다른 후보키가 있다는 정보가 없다.
  • 3번 ‘복합키 일부에 대한 부분 종속’는 선택 조건과 다르다. 오답 이유 기본키가 단일 속성이라 복합키 일부에 대한 부분 종속은 성립하지 않는다.
  • 4번 ‘기본키의 완전 함수 종속’는 선택 조건과 다르다. 오답 이유 비키 속성이 키에 종속되는 사실 자체는 제거 대상이 아니다.

정답 판정: 정답 판정: 정답은 1번이다. 사번→부서코드→부서명으로 비키 속성을 거친 이행 종속이 제3정규형을 위반한다. 반면 “후보키가 여러 개인 상태”는 제시된 조건에는 다른 후보키가 있다는 정보가 없다. 검증 기준: 비키 속성 사이의 이행 종속의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 58 판정 근거: 정답은 1번이다. 사번→부서코드→부서명으로 비키 속성을 거친 이행 종속이 제3정규형을 위반한다. 반면 “후보키가 여러 개인 상태”는 제시된 조건에는 다른 후보키가 있다는 정보가 없다.

독립 계산·실행 추적: 사번→부서코드→부서명의 비키 속성 간 이행 종속을 제거해야 한다.

59. 데이터베이스 설계자가 다음 조건을 확인한다. 대기 그래프에 T1→T2, T2→T3, T3→T1 간선이 있다. 직접 내릴 수 있는 결론은?

  1. 교착상태 순환이 존재한다
  2. 직렬 가능성이 항상 보장된다
  3. 모든 트랜잭션이 이미 커밋됐다
  4. 갱신 손실만 발생하고 교착은 없다
정답과 해설 보기

정답: 1

정답은 1번이다. 단일 인스턴스 자원 조건의 wait-for graph에서 순환은 교착상태의 필요충분 조건이다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 각 트랜잭션이 다음 트랜잭션의 자원을 기다려 방향성 순환을 만든다.
  • 2번 ‘직렬 가능성이 항상 보장된다’는 선택 조건과 다르다. 오답 이유 대기 순환은 진행 불가 상태를 뜻하며 직렬 가능성을 보장하는 증거가 아니다.
  • 3번 ‘모든 트랜잭션이 이미 커밋됐다’는 선택 조건과 다르다. 오답 이유 커밋된 트랜잭션은 보유 잠금을 해제하므로 이런 대기 순환에 남지 않는다.
  • 4번 ‘갱신 손실만 발생하고 교착은 없다’는 선택 조건과 다르다. 오답 이유 대기 그래프 순환은 단순 갱신 손실이 아니라 교착 탐지 신호다.

정답 판정: 정답 판정: 정답은 1번이다. 단일 인스턴스 자원 조건의 wait-for graph에서 순환은 교착상태의 필요충분 조건이다. 검증 기준: 교착상태 순환이 존재한다의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 59 판정 근거: 정답은 1번이다. 단일 인스턴스 자원 조건의 wait-for graph에서 순환은 교착상태의 필요충분 조건이다.

독립 계산·실행 추적: 대기 그래프 T1→T2→T3→T1은 순환을 이루므로 교착상태다.

60. 데이터베이스 설계자가 다음 조건을 확인한다. 일반적인 관계형 데이터베이스의 뷰에 대한 기술로 틀린 설명을 고르면?

  1. 일반 뷰는 질의 정의를 저장하는 가상 테이블이라 자체 인덱스를 직접 갖지 않는다.
  2. 사용자에게 필요한 열만 노출해 논리적 독립성과 보안을 높일 수 있다.
  3. 조인이나 집계를 포함한 뷰는 갱신이 제한될 수 있다.
  4. 기본 테이블을 제거해도 그 테이블에 의존하는 뷰는 언제나 정상 조회된다.
정답과 해설 보기

정답: 4

정답은 4번이다. 뷰는 기본 테이블에 의존한다. 대상 테이블이 제거되면 종속 뷰는 삭제가 거부되거나 함께 제거·무효화되므로 언제나 정상 조회된다는 ④가 틀리다.

선지별 해설

  • 1번 ‘일반 뷰는 질의 정의를 저장하는 가상 테이블이라 자체 인덱스를 직접 갖지 않는다.’는 선택 조건과 다르다. 오답 이유 일반 뷰에는 질의 정의가 저장되며 물리 인덱스는 기본 테이블에 둔다.
  • 2번 ‘사용자에게 필요한 열만 노출해 논리적 독립성과 보안을 높일 수 있다.’는 선택 조건과 다르다. 오답 이유 뷰는 열과 행을 제한해 사용자별 논리적 관점을 제공한다.
  • 3번 ‘조인이나 집계를 포함한 뷰는 갱신이 제한될 수 있다.’는 선택 조건과 다르다. 오답 이유 기본 행과 일대일 대응하지 않는 뷰는 갱신이 불가능하거나 제한된다.
  • 4번은 정답 선지다. 정답 근거 기본 객체가 사라지면 종속 뷰의 질의를 정상 실행할 수 없다.

정답 판정: 정답 판정: 정답은 4번이다. 뷰는 기본 테이블에 의존한다. 대상 테이블이 제거되면 종속 뷰는 삭제가 거부되거나 함께 제거·무효화되므로 언제나 정상 조회된다는 ④가 틀리다. 검증 기준: 기본 테이블을 제거해도 그 테이블에 의존하는 뷰는 언제나 정상 조회된다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 60 판정 근거: 정답은 4번이다. 뷰는 기본 테이블에 의존한다. 대상 테이블이 제거되면 종속 뷰는 삭제가 거부되거나 함께 제거·무효화되므로 언제나 정상 조회된다는 ④가 틀리다.

정보처리기사 필기 기출문제 · 프로그래밍 언어 활용

61. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. C 프로그램의 출력은? #include <stdio.h> int main(void) { int a = 8, b = 3; printf("%d", a + b * 2); return 0; }

  1. 15
  2. 14
  3. 24
  4. 11
정답과 해설 보기

정답: 2

정답은 2번이다. 곱셈이 덧셈보다 우선하므로 3×2를 먼저 계산한다. 따라서 식은 8+6이 되어 14를 출력한다.

선지별 해설

  • 1번 ‘15’는 선택 조건과 다르다. 오답 이유 15은 계산에 없는 1을 더한 값이다.
  • 2번은 정답 선지다. 정답 근거 곱셈이 덧셈보다 먼저 수행되어 8+(3×2)=14이다.
  • 3번 ‘24’는 선택 조건과 다르다. 오답 이유 24은 식을 단순 곱셈으로 잘못 읽은 값이다.
  • 4번 ‘11’는 선택 조건과 다르다. 오답 이유 11은 마지막 ×2를 반영하지 않은 값이다.

정답 판정: 정답 판정: 정답은 2번이다. 곱셈이 덧셈보다 우선하므로 3×2를 먼저 계산한다. 따라서 식은 8+6이 되어 14를 출력한다. 검증 기준: 14의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 61 판정 근거: 정답은 2번이다. 곱셈이 덧셈보다 우선하므로 3×2를 먼저 계산한다. 따라서 식은 8+6이 되어 14를 출력한다.

독립 계산·실행 추적: 곱셈을 먼저 계산해 8+3×2=14다.

62. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. Java 코드에서 Parent의 value()는 4, Child가 이를 재정의해 9를 반환한다. Parent p = new Child(); p.value()의 결과는?

  1. 0
  2. 9
  3. 4
  4. 컴파일 오류
정답과 해설 보기

정답: 2

정답은 2번이다. Java 인스턴스 메서드는 실행 시 실제 객체 타입을 기준으로 디스패치된다. p가 Child 객체를 가리키므로 Child.value()의 9가 반환된다.

선지별 해설

  • 1번 ‘0’는 선택 조건과 다르다. 오답 이유 value()가 명시적으로 9를 반환해 기본값 0이 사용되지 않는다.
  • 2번은 정답 선지다. 정답 근거 인스턴스 메서드는 실제 객체 Child의 재정의 구현으로 동적 바인딩된다.
  • 3번 ‘4’는 선택 조건과 다르다. 오답 이유 참조 변수 타입은 Parent지만 재정의 메서드 호출 결과를 4로 고정하지 않는다.
  • 4번 ‘컴파일 오류’는 선택 조건과 다르다. 오답 이유 Child가 Parent를 올바르게 상속하고 재정의하므로 컴파일 오류가 아니다.

정답 판정: 정답 판정: 정답은 2번이다. Java 인스턴스 메서드는 실행 시 실제 객체 타입을 기준으로 디스패치된다. p가 Child 객체를 가리키므로 Child.value()의 9가 반환된다. 검증 기준: 9의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 62 판정 근거: 정답은 2번이다. Java 인스턴스 메서드는 실행 시 실제 객체 타입을 기준으로 디스패치된다. p가 Child 객체를 가리키므로 Child.value()의 9가 반환된다.

독립 계산·실행 추적: 재정의된 인스턴스 메서드는 실제 객체 Child의 value를 호출해 9다.

63. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. Python 코드의 출력은? x = 7 items = [n * 2 for n in [x]] items.append(8) print(items)

  1. [14]
  2. [7, 8]
  3. [8, 14]
  4. [14, 8]
정답과 해설 보기

정답: 4

정답은 4번이다. 리스트 컴프리헨션은 7에 ×2를 적용하고 뒤에 8을 append한다.

선지별 해설

  • 1번 ‘[14]’는 선택 조건과 다르다. 오답 이유 append된 8을 누락한 결과다.
  • 2번 ‘[7, 8]’는 선택 조건과 다르다. 오답 이유 첫 원소에 ×2 변환을 적용하지 않은 결과다.
  • 3번 ‘[8, 14]’는 선택 조건과 다르다. 오답 이유 append는 기존 첫 원소 뒤에 값을 추가하므로 순서가 반대가 아니다.
  • 4번은 정답 선지다. 정답 근거 리스트 컴프리헨션은 7에 ×2를 적용하고 뒤에 8을 append한다.

정답 판정: 정답 판정: 정답은 4번이다. 리스트 컴프리헨션은 7에 ×2를 적용하고 뒤에 8을 append한다. 검증 기준: [14, 8]의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 63 판정 근거: 정답은 4번이다. 리스트 컴프리헨션은 7에 ×2를 적용하고 뒤에 8을 append한다.

독립 계산·실행 추적: 7을 두 배 한 14로 리스트를 만들고 8을 추가하므로 [14,8]이다.

64. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 프레임 3개가 비어 있고 페이지 참조가 1,2,3,1,4 순으로 발생한다. FIFO 적용 후 프레임은?

  1. 4, 2, 3
  2. 1, 4, 3
  3. 1, 2, 4
  4. 4, 1, 3
정답과 해설 보기

정답: 1

정답은 1번이다. 1·2·3을 적재한 뒤 1 재참조는 순서를 바꾸지 않고, 4가 가장 오래된 1을 교체한다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 1·2·3을 적재한 뒤 1 재참조는 순서를 바꾸지 않고, 4가 가장 오래된 1을 교체한다.
  • 2번 ‘1, 4, 3’는 선택 조건과 다르다. 오답 이유 FIFO는 재참조된 1을 최신으로 이동시키지 않으므로 이 배열이 되지 않는다.
  • 3번 ‘1, 2, 4’는 선택 조건과 다르다. 오답 이유 4는 가장 오래된 1 자리에 들어가며 3을 교체하지 않는다.
  • 4번 ‘4, 1, 3’는 선택 조건과 다르다. 오답 이유 두 번째 프레임의 2는 아직 교체 대상이 아니다.

정답 판정: 정답 판정: 정답은 1번이다. 1·2·3을 적재한 뒤 1 재참조는 순서를 바꾸지 않고, 4가 가장 오래된 1을 교체한다. 검증 기준: 4, 2, 3의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 64 판정 근거: 정답은 1번이다. 1·2·3을 적재한 뒤 1 재참조는 순서를 바꾸지 않고, 4가 가장 오래된 1을 교체한다.

독립 계산·실행 추적: 1,2,3 적재 후 1 적중은 순서를 바꾸지 않아 4가 가장 오래된 1을 교체한다.

65. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 실행시간 4인 P1이 먼저 도착하고 1초 뒤 실행시간 2인 P2가 온다. 현재 작업을 선점하지 않는 SJF라면 첫 실행 순서는?

  1. 두 프로세스 동시 실행
  2. P1 다음 P2
  3. 도착과 무관하게 무작위 실행
  4. P2 다음 P1
정답과 해설 보기

정답: 2

정답은 2번이다. 비선점 SJF는 CPU가 비는 시점에 준비 큐의 짧은 작업을 고른다. P2 도착 전에 P1이 시작됐으므로 P1 완료 후 P2 순서가 맞다.

선지별 해설

  • 1번 ‘두 프로세스 동시 실행’는 선택 조건과 다르다. 오답 이유 단일 CPU 조건에서 두 프로세스를 동시에 실행하지 않는다.
  • 2번은 정답 선지다. 정답 근거 비선점 SJF는 P1이 이미 실행을 시작했으므로 완료 뒤 대기 중인 P2를 실행한다.
  • 3번 ‘도착과 무관하게 무작위 실행’는 선택 조건과 다르다. 오답 이유 스케줄링 규칙과 도착 정보가 있으므로 무작위 선택이 아니다.
  • 4번 ‘P2 다음 P1’는 선택 조건과 다르다. 오답 이유 P2가 짧아도 비선점 방식은 실행 중인 P1을 빼앗지 않는다.

정답 판정: 정답 판정: 정답은 2번이다. 비선점 SJF는 CPU가 비는 시점에 준비 큐의 짧은 작업을 고른다. P2 도착 전에 P1이 시작됐으므로 P1 완료 후 P2 순서가 맞다. 검증 기준: P1 다음 P2의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 65 판정 근거: 정답은 2번이다. 비선점 SJF는 CPU가 비는 시점에 준비 큐의 짧은 작업을 고른다. P2 도착 전에 P1이 시작됐으므로 P1 완료 후 P2 순서가 맞다.

독립 계산·실행 추적: 비선점 SJF는 실행 중인 P1을 중단하지 않으므로 P1 다음 P2다.

66. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 192.168.1.64/27 네트워크의 사용 가능한 호스트 주소 범위는?

  1. 192.168.1.65 ~ 192.168.1.94
  2. 192.168.1.66 ~ 192.168.1.93
  3. 192.168.1.64 ~ 192.168.1.95
  4. 192.168.1.65 ~ 192.168.1.95
정답과 해설 보기

정답: 1

정답은 1번이다. /27 블록 크기는 32로 네트워크 주소 64와 브로드캐스트 95를 제외하면 65~94다. 반면 “192.168.1.64 ~ 192.168.1.95”은 64와 95는 각각 네트워크·브로드캐스트 주소라 호스트에 할당할 수 없다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 /27 블록 크기는 32로 네트워크 주소 64와 브로드캐스트 95를 제외하면 65~94다.
  • 2번 ‘192.168.1.66 ~ 192.168.1.93’는 선택 조건과 다르다. 오답 이유 65와 94도 정상 호스트 주소이므로 제외할 이유가 없다.
  • 3번 ‘192.168.1.64 ~ 192.168.1.95’는 선택 조건과 다르다. 오답 이유 64와 95는 각각 네트워크·브로드캐스트 주소라 호스트에 할당할 수 없다.
  • 4번 ‘192.168.1.65 ~ 192.168.1.95’는 선택 조건과 다르다. 오답 이유 95는 브로드캐스트 주소이므로 범위 끝에 포함할 수 없다.

정답 판정: 정답 판정: 정답은 1번이다. /27 블록 크기는 32로 네트워크 주소 64와 브로드캐스트 95를 제외하면 65~94다. 반면 “192.168.1.64 ~ 192.168.1.95”은 64와 95는 각각 네트워크·브로드캐스트 주소라 호스트에 할당할 수 없다. 검증 기준: 192.168.1.65 ~ 192.168.1.94의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 66 판정 근거: 정답은 1번이다. /27 블록 크기는 32로 네트워크 주소 64와 브로드캐스트 95를 제외하면 65~94다. 반면 “192.168.1.64 ~ 192.168.1.95”은 64와 95는 각각 네트워크·브로드캐스트 주소라 호스트에 할당할 수 없다.

독립 계산·실행 추적: /27의 .64~.95에서 네트워크와 브로드캐스트를 빼면 .65~.94다.

67. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. C 배열 int a[4]={3,5,7,9}; int *p=a+1; 를 실행한 뒤 *(p+2)의 값은?

  1. 7
  2. 3
  3. 5
  4. 9
정답과 해설 보기

정답: 4

정답은 4번이다. p=a+1은 a[1]을 가리키고, p+2는 다시 두 원소를 이동해 a[3]을 가리킨다. 따라서 *(p+2)의 값은 a[3]에 저장된 9다.

선지별 해설

  • 1번 ‘7’는 선택 조건과 다르다. 오답 이유 7은 p+1이 가리키는 a[2]의 값이다.
  • 2번 ‘3’는 선택 조건과 다르다. 오답 이유 3은 a[0]이며 p보다 한 칸 앞의 원소다.
  • 3번 ‘5’는 선택 조건과 다르다. 오답 이유 5는 p가 처음 가리키는 a[1]의 값이다.
  • 4번은 정답 선지다. 정답 근거 p는 a[1]을 가리키고 p+2는 a[3]이므로 값은 9다.

정답 판정: 정답 판정: 정답은 4번이다. p=a+1은 a[1]을 가리키고, p+2는 다시 두 원소를 이동해 a[3]을 가리킨다. 따라서 *(p+2)의 값은 a[3]에 저장된 9다. 검증 기준: 9의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 67 판정 근거: 정답은 4번이다. p=a+1은 a[1]을 가리키고, p+2는 다시 두 원소를 이동해 a[3]을 가리킨다. 따라서 *(p+2)의 값은 a[3]에 저장된 9다.

독립 계산·실행 추적: p는 a[1]이고 p+2는 a[3]을 가리키므로 값은 9다.

68. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. Java 코드가 try에서 예외를 던지고 catch에서 "C", finally에서 "F"를 차례로 출력한다. 출력 순서는?

  1. CF
  2. FC
  3. C
  4. F
정답과 해설 보기

정답: 1

정답은 1번이다. Java의 finally는 catch 실행 여부와 무관하게 정상적으로 제어가 빠져나갈 때 수행된다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 예외를 catch가 처리한 뒤 메서드를 빠져나가기 전에 finally가 실행되어 C 다음 F다.
  • 2번 ‘FC’는 선택 조건과 다르다. 오답 이유 finally는 catch 처리 뒤 실행되므로 F가 C보다 먼저 나오지 않는다.
  • 3번 ‘C’는 선택 조건과 다르다. 오답 이유 finally 블록이 있으므로 C만 출력하고 종료하지 않는다.
  • 4번 ‘F’는 선택 조건과 다르다. 오답 이유 catch가 예외를 처리하므로 F만 출력되지 않는다.

정답 판정: 정답 판정: 정답은 1번이다. Java의 finally는 catch 실행 여부와 무관하게 정상적으로 제어가 빠져나갈 때 수행된다. 검증 기준: CF의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 68 판정 근거: 정답은 1번이다. Java의 finally는 catch 실행 여부와 무관하게 정상적으로 제어가 빠져나갈 때 수행된다.

독립 계산·실행 추적: 예외는 catch에서 C를 출력한 뒤 finally에서 F를 출력하므로 CF다.

69. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 3개의 페이지 프레임에 FIFO 교체를 적용할 때 참조 문자열 처리 후 프레임의 최종 상태는? 페이지 참조 문자열: 2, 3, 2, 1, 5, 2, 4 프레임은 처음에 모두 비어 있으며, 적중한 페이지의 FIFO 순서는 바뀌지 않는다.

  1. 5, 1, 4
  2. 5, 3, 4
  3. 5, 2, 4
  4. 2, 1, 4
정답과 해설 보기

정답: 3

정답은 3번이다. 2·3·1을 적재한 뒤 5를 참조하면 가장 먼저 들어온 2가 교체된다. 이어 2를 참조하면 다음으로 오래된 3이 교체되고, 마지막 4는 오래된 1을 교체한다. 물리 프레임의 최종 값은 5, 2, 4다.

선지별 해설

  • 1번 ‘5, 1, 4’는 선택 조건과 다르다. 오답 이유 마지막 4가 들어올 때 가장 오래된 1이 교체되므로 1은 남지 않는다.
  • 2번 ‘5, 3, 4’는 선택 조건과 다르다. 오답 이유 두 번째 2가 들어올 때 3이 교체되므로 최종 프레임에 3이 남지 않는다.
  • 3번은 정답 선지다. 정답 근거 교체 순서가 2→3→1이므로 최종 프레임은 5, 2, 4가 된다.
  • 4번 ‘2, 1, 4’는 선택 조건과 다르다. 오답 이유 두 번째 2 참조는 앞서 2가 5로 교체된 뒤이므로 적중이 아니라 페이지 부재다.

정답 판정: 정답 판정: 정답은 3번이다. 2·3·1을 적재한 뒤 5를 참조하면 가장 먼저 들어온 2가 교체된다. 이어 2를 참조하면 다음으로 오래된 3이 교체되고, 마지막 4는 오래된 1을 교체한다. 물리 프레임의 최종 값은 5, 2, 4다. 검증 기준: 5, 2, 4의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 69 판정 근거: 정답은 3번이다. 2·3·1을 적재한 뒤 5를 참조하면 가장 먼저 들어온 2가 교체된다. 이어 2를 참조하면 다음으로 오래된 3이 교체되고, 마지막 4는 오래된 1을 교체한다. 물리 프레임의 최종 값은 5, 2, 4다.

독립 계산·실행 추적: FIFO 적재·교체를 순서대로 추적하면 최종 프레임은 5,2,4다.

70. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 웹 서버가 IP 위에서 클라이언트와 연결을 설정하고, 바이트 스트림의 순서 보장·재전송·흐름 제어를 제공한다. 이 기능을 담당하는 TCP/IP 계층은?

  1. 트랜스포트 계층
  2. 응용 계층
  3. 네트워크 접속 계층
  4. 인터넷 계층
정답과 해설 보기

정답: 1

정답은 1번이다. TCP는 응용 프로세스 사이에 연결형 바이트 스트림을 제공하고 순서 제어, 재전송, 흐름 제어를 수행한다. RFC 1122는 TCP와 UDP를 트랜스포트 계층 프로토콜로 분류하므로 ③이 정답으로 판정된다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 트랜스포트 계층의 TCP가 응용 프로세스 사이의 신뢰성 있는 순서화된 바이트 스트림을 제공한다.
  • 2번 ‘응용 계층’는 선택 조건과 다르다. 오답 이유 응용 계층은 HTTP 같은 응용 프로토콜을 실행하며 TCP가 제공하는 전송 서비스를 이용한다.
  • 3번 ‘네트워크 접속 계층’는 선택 조건과 다르다. 오답 이유 네트워크 접속 계층은 한 링크에서 프레임을 전달하는 기술을 다루며 종단 간 바이트 스트림의 신뢰성을 제공하지 않는다.
  • 4번 ‘인터넷 계층’는 선택 조건과 다르다. 오답 이유 인터넷 계층의 IP는 호스트 사이에 데이터그램을 전달하지만 TCP의 연결·재전송·흐름 제어를 담당하지 않는다.

정답 판정: 정답 판정: 정답은 1번이다. TCP는 응용 프로세스 사이에 연결형 바이트 스트림을 제공하고 순서 제어, 재전송, 흐름 제어를 수행한다. RFC 1122는 TCP와 UDP를 트랜스포트 계층 프로토콜로 분류하므로 ③이 정답으로 판정된다. 검증 기준: 트랜스포트 계층의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 70 판정 근거: 정답은 1번이다. TCP는 응용 프로세스 사이에 연결형 바이트 스트림을 제공하고 순서 제어, 재전송, 흐름 제어를 수행한다. RFC 1122는 TCP와 UDP를 트랜스포트 계층 프로토콜로 분류하므로 ③이 정답으로 판정된다.

71. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. Python에서 nums=[1,2,3,4,5,6]일 때 [x*x for x in nums if x%2==0]의 결과는?

  1. [1, 4, 9, 16, 25, 36]
  2. [4, 16, 36]
  3. [1, 9, 25]
  4. [2, 4, 6]
정답과 해설 보기

정답: 2

정답은 2번이다. 리스트 컴프리헨션은 뒤의 if로 원소를 고른 다음 앞의 표현식을 평가한다.

선지별 해설

  • 1번 ‘[1, 4, 9, 16, 25, 36]’는 선택 조건과 다르다. 오답 이유 모든 원소를 제곱해 짝수 필터를 무시했다.
  • 2번은 정답 선지다. 정답 근거 짝수 2,4,6만 통과시킨 뒤 각각 제곱해 4,16,36을 만든다.
  • 3번 ‘[1, 9, 25]’는 선택 조건과 다르다. 오답 이유 홀수만 제곱한 결과로 필터 조건과 반대다.
  • 4번 ‘[2, 4, 6]’는 선택 조건과 다르다. 오답 이유 짝수 필터는 적용했지만 x*x 변환을 적용하지 않았다.

정답 판정: 정답 판정: 정답은 2번이다. 리스트 컴프리헨션은 뒤의 if로 원소를 고른 다음 앞의 표현식을 평가한다. 검증 기준: [4, 16, 36]의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 71 판정 근거: 정답은 2번이다. 리스트 컴프리헨션은 뒤의 if로 원소를 고른 다음 앞의 표현식을 평가한다.

독립 계산·실행 추적: 짝수 2,4,6을 제곱하므로 [4,16,36]이다.

72. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. UNIX에서 report.sh의 소유자에게 실행 권한을 추가할 명령은?

  1. cp u+x report.sh
  2. chmod u+x report.sh
  3. cat u+x report.sh
  4. ls u+x report.sh
정답과 해설 보기

정답: 2

정답은 2번이다. chmod는 파일 모드를 바꾸며 u+x는 소유자 실행 권한을 추가한다. 따라서 ②가 맞다.

선지별 해설

  • 1번 ‘cp u+x report.sh’는 선택 조건과 다르다. 오답 이유 cp는 파일을 복사하는 명령이며 권한 비트를 변경하지 않는다.
  • 2번은 정답 선지다. 정답 근거 chmod u+x report.sh는 소유자(user)의 실행(execute) 비트를 추가한다.
  • 3번 ‘cat u+x report.sh’는 선택 조건과 다르다. 오답 이유 cat은 파일 내용을 출력·연결하는 명령으로 권한 변경 구문이 아니다.
  • 4번 ‘ls u+x report.sh’는 선택 조건과 다르다. 오답 이유 ls는 디렉터리 항목과 속성을 조회하며 u+x 권한을 적용하지 않는다.

정답 판정: 정답 판정: 정답은 2번이다. chmod는 파일 모드를 바꾸며 u+x는 소유자 실행 권한을 추가한다. 따라서 ②가 맞다. 검증 기준: chmod u+x report.sh의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 72 판정 근거: 정답은 2번이다. chmod는 파일 모드를 바꾸며 u+x는 소유자 실행 권한을 추가한다. 따라서 ②가 맞다.

독립 계산·실행 추적: 소유자(user)에 실행 권한을 추가하는 기호 모드는 chmod u+x다.

73. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 페이지 참조가 1,2,3,1,4이고 프레임이 3개다. LRU에서 4를 적재할 때 교체되는 페이지는?

  1. 3
  2. 2
  3. 4
  4. 1
정답과 해설 보기

정답: 2

정답은 2번이다. 4 직전 사용 시점은 1이 가장 최근, 3이 그다음이며 2가 가장 오래되어 교체된다.

선지별 해설

  • 1번 ‘3’는 선택 조건과 다르다. 오답 이유 3은 2보다 나중에 참조됐으므로 LRU 희생자가 아니다.
  • 2번은 정답 선지다. 정답 근거 4 직전 사용 시점은 1이 가장 최근, 3이 그다음이며 2가 가장 오래되어 교체된다.
  • 3번 ‘4’는 선택 조건과 다르다. 오답 이유 4는 새로 들어오는 페이지라 교체 대상 프레임에 아직 없다.
  • 4번 ‘1’는 선택 조건과 다르다. 오답 이유 1은 바로 직전에 다시 참조돼 가장 최근 사용 페이지다.

정답 판정: 정답 판정: 정답은 2번이다. 4 직전 사용 시점은 1이 가장 최근, 3이 그다음이며 2가 가장 오래되어 교체된다. 검증 기준: 2의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 73 판정 근거: 정답은 2번이다. 4 직전 사용 시점은 1이 가장 최근, 3이 그다음이며 2가 가장 오래되어 교체된다.

독립 계산·실행 추적: 1은 최근 재참조됐고 2가 가장 오래되었으므로 4가 들어올 때 2를 교체한다.

74. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 가변 분할 메모리의 빈 공간이 18KB, 25KB, 40KB, 12KB이고 16KB 프로세스를 Best Fit으로 배치한다. 선택되는 빈 공간과 배치 후 남는 크기는? 각 빈 공간은 서로 분리되어 있으며 분할 가능한 가용 영역이다.

  1. 40KB를 선택하고 24KB가 남는다.
  2. 적재할 수 없다.
  3. 18KB를 선택하고 2KB가 남는다.
  4. 25KB를 선택하고 9KB가 남는다.
정답과 해설 보기

정답: 3

정답은 3번이다. Best Fit은 프로세스를 수용할 수 있는 빈 공간 중 가장 작은 18KB를 선택한다. 남는 크기는 18-16=2KB이므로 ①이 정답으로 판정된다.

선지별 해설

  • 1번 ‘40KB를 선택하고 24KB가 남는다.’는 선택 조건과 다르다. 오답 이유 40KB를 선택하면 24KB가 남아 더 작은 적합 공간을 두고 큰 공간을 쓰게 된다.
  • 2번 ‘적재할 수 없다.’는 선택 조건과 다르다. 오답 이유 18KB 이상의 빈 공간이 있으므로 16KB 프로세스는 적재할 수 있다.
  • 3번은 정답 선지다. 정답 근거 수용 가능한 18·25·40KB 중 18KB가 가장 작고 남는 공간은 2KB다.
  • 4번 ‘25KB를 선택하고 9KB가 남는다.’는 선택 조건과 다르다. 오답 이유 25KB도 수용 가능하지만 18KB보다 커서 Best Fit의 첫 선택이 아니다.

정답 판정: 정답 판정: 정답은 3번이다. Best Fit은 프로세스를 수용할 수 있는 빈 공간 중 가장 작은 18KB를 선택한다. 남는 크기는 18-16=2KB이므로 ①이 정답으로 판정된다. 검증 기준: 18KB를 선택하고 2KB가 남는다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 74 판정 근거: 정답은 3번이다. Best Fit은 프로세스를 수용할 수 있는 빈 공간 중 가장 작은 18KB를 선택한다. 남는 크기는 18-16=2KB이므로 ①이 정답으로 판정된다.

독립 계산·실행 추적: 16KB를 담는 가장 작은 18KB 공간을 선택해 2KB가 남는다.

75. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 172.16.4.0/24 네트워크를 FLSM으로 8개 서브넷에 균등 분할하고 subnet-zero를 사용한다. 세 번째 서브넷의 다섯 번째 사용 가능한 호스트 주소는? 서브넷과 호스트는 주소가 작은 순서로 센다.

  1. 172.16.4.95
  2. 172.16.4.64
  3. 172.16.4.68
  4. 172.16.4.69
정답과 해설 보기

정답: 4

정답은 4번이다. /24를 8등분하려면 3비트를 빌려 /27이 되고 블록 크기는 32다. 세 번째 서브넷은 172.16.4.64/27, 사용 가능한 주소는 .65부터이므로 다섯 번째는 .69다. 따라서 ③이 정답으로 판정된다.

선지별 해설

  • 1번 ‘172.16.4.95’는 선택 조건과 다르다. 오답 이유 .95는 /27 블록의 브로드캐스트 주소이므로 호스트에 할당할 수 없다.
  • 2번 ‘172.16.4.64’는 선택 조건과 다르다. 오답 이유 .64는 세 번째 서브넷의 네트워크 주소이므로 호스트에 할당할 수 없다.
  • 3번 ‘172.16.4.68’는 선택 조건과 다르다. 오답 이유 .65를 첫 번째로 세면 .68은 네 번째 사용 가능한 호스트다.
  • 4번은 정답 선지다. 정답 근거 .65, .66, .67, .68, .69 순서이므로 다섯 번째 사용 가능한 주소가 맞다.

정답 판정: 정답 판정: 정답은 4번이다. /24를 8등분하려면 3비트를 빌려 /27이 되고 블록 크기는 32다. 세 번째 서브넷은 172.16.4.64/27, 사용 가능한 주소는 .65부터이므로 다섯 번째는 .69다. 따라서 ③이 정답으로 판정된다. 검증 기준: 172.16.4.69의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 75 판정 근거: 정답은 4번이다. /24를 8등분하려면 3비트를 빌려 /27이 되고 블록 크기는 32다. 세 번째 서브넷은 172.16.4.64/27, 사용 가능한 주소는 .65부터이므로 다섯 번째는 .69다. 따라서 ③이 정답으로 판정된다.

독립 계산·실행 추적: /27 블록 크기는 32이고 세 번째 서브넷은 .64/27이므로 다섯 번째 호스트는 .69다.

76. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 시각 0에 P1(버스트 5), P2(버스트 3)이 도착하고 라운드로빈 시간 할당량은 2다. 처음 세 CPU 구간의 실행 순서는?

  1. P1(5) → P2(3)
  2. P1(2) → P2(2) → P1(2)
  3. P2(2) → P1(2) → P2(1)
  4. P1(2) → P1(2) → P2(2)
정답과 해설 보기

정답: 2

정답은 2번이다. 준비 큐 순서대로 P1과 P2가 각각 2만큼 실행하고 남은 P1이 다시 큐 뒤에서 실행된다.

선지별 해설

  • 1번 ‘P1(5) → P2(3)’는 선택 조건과 다르다. 오답 이유 각 프로세스를 완료까지 실행하는 순서는 라운드로빈의 선점 시간 할당을 무시한다.
  • 2번은 정답 선지다. 정답 근거 준비 큐 순서대로 P1과 P2가 각각 2만큼 실행하고 남은 P1이 다시 큐 뒤에서 실행된다.
  • 3번 ‘P2(2) → P1(2) → P2(1)’는 선택 조건과 다르다. 오답 이유 동시 도착 시 제시 순서 P1이 먼저라는 조건과 다르다.
  • 4번 ‘P1(2) → P1(2) → P2(2)’는 선택 조건과 다르다. 오답 이유 시간 할당이 끝난 P1은 큐 뒤로 가므로 P2보다 연속해서 실행할 수 없다.

정답 판정: 정답 판정: 정답은 2번이다. 준비 큐 순서대로 P1과 P2가 각각 2만큼 실행하고 남은 P1이 다시 큐 뒤에서 실행된다. 검증 기준: P1(2) → P2(2) → P1(2)의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 76 판정 근거: 정답은 2번이다. 준비 큐 순서대로 P1과 P2가 각각 2만큼 실행하고 남은 P1이 다시 큐 뒤에서 실행된다.

독립 계산·실행 추적: 할당량 2로 순환하면 첫 세 구간은 P1(2),P2(2),P1(2)다.

77. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. POSIX C 프로그램에서 현재 프로세스를 복제해 자식 프로세스를 만드는 빈칸의 함수는? pid_t pid = ( ); if (pid == 0) { /* child */ } else if (pid > 0) { /* parent */ }

  1. waitpid
  2. fork
  3. chmod
  4. execve
정답과 해설 보기

정답: 2

정답은 2번이다. fork()는 호출 프로세스를 바탕으로 새 자식 프로세스를 만들고, 성공하면 자식에는 0, 부모에는 자식 PID를 반환한다. 따라서 빈칸은 ③ fork다.

선지별 해설

  • 1번 ‘waitpid’는 선택 조건과 다르다. 오답 이유 waitpid는 부모가 특정 자식의 상태 변화를 기다리는 함수다.
  • 2번은 정답 선지다. 정답 근거 fork는 새 자식 프로세스를 만들고 부모와 자식이 호출 다음 지점부터 각각 실행되게 한다.
  • 3번 ‘chmod’는 선택 조건과 다르다. 오답 이유 chmod는 파일의 접근 권한 모드를 변경하는 함수·유틸리티다.
  • 4번 ‘execve’는 선택 조건과 다르다. 오답 이유 execve는 현재 프로세스 이미지를 다른 프로그램으로 교체하며 새 프로세스를 직접 생성하는 함수가 아니다.

정답 판정: 정답 판정: 정답은 2번이다. fork()는 호출 프로세스를 바탕으로 새 자식 프로세스를 만들고, 성공하면 자식에는 0, 부모에는 자식 PID를 반환한다. 따라서 빈칸은 ③ fork다. 검증 기준: fork의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 77 판정 근거: 정답은 2번이다. fork()는 호출 프로세스를 바탕으로 새 자식 프로세스를 만들고, 성공하면 자식에는 0, 부모에는 자식 PID를 반환한다. 따라서 빈칸은 ③ fork다.

독립 계산·실행 추적: POSIX fork는 현재 프로세스를 복제해 자식 프로세스를 만든다.

78. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 다음 C 프로그램이 출력하는 값은? #include <stdio.h> int main(void) { int v[] = {2, 4, 8}; int sum = 0; for (int i = 0; i < 3; ++i) { sum += v[i] * (1 << i); } printf("%d", sum); return 0; }

  1. 48
  2. 84
  3. 24
  4. 42
정답과 해설 보기

정답: 4

정답은 4번이다. 반복마다 1 << i는 1, 2, 4가 되고 배열 원소와 곱한 항은 2, 8, 32가 된다. 누적값은 차례로 2, 10, 42가 되므로 최종 출력은 42다.

선지별 해설

  • 1번 ‘48’는 선택 조건과 다르다. 오답 이유 각 항 2, 8, 32의 합은 42이므로 48은 어느 올바른 누적 단계와도 일치하지 않는다.
  • 2번 ‘84’는 선택 조건과 다르다. 오답 이유 84는 올바른 합 42를 한 번 더 배수 처리한 값이다.
  • 3번 ‘24’는 선택 조건과 다르다. 오답 이유 24는 각 원소에 1, 2, 4를 곱한 합 42와 일치하지 않는다.
  • 4번은 정답 선지다. 정답 근거 반복별 누적값은 2, 10, 42이므로 최종 출력은 42다.

정답 판정: 정답 판정: 정답은 4번이다. 반복마다 1 << i는 1, 2, 4가 되고 배열 원소와 곱한 항은 2, 8, 32가 된다. 누적값은 차례로 2, 10, 42가 되므로 최종 출력은 42다. 검증 기준: 42의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 78 판정 근거: 정답은 4번이다. 반복마다 1 << i는 1, 2, 4가 되고 배열 원소와 곱한 항은 2, 8, 32가 된다. 누적값은 차례로 2, 10, 42가 되므로 최종 출력은 42다.

독립 계산·실행 추적: 2×1+4×2+8×4=42다.

79. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 다음 중 소스 컴파일·테스트·패키징을 자동화하는 빌드 도구가 아니라, KDC가 발급한 티켓으로 네트워크 주체를 인증하는 기술은?

  1. Gradle
  2. Apache Ant
  3. Kerberos
  4. Apache Maven
정답과 해설 보기

정답: 3

정답은 3번이다. Ant, Maven, Gradle은 프로젝트 산출물을 만드는 빌드 자동화 도구다. Kerberos는 KDC가 발급하는 티켓과 세션 키를 이용해 클라이언트와 서비스를 인증하는 네트워크 인증 프로토콜이므로 ②가 정답으로 판정된다.

선지별 해설

  • 1번 ‘Gradle’는 선택 조건과 다르다. 오답 이유 Gradle은 태스크와 의존성 모델을 이용하는 빌드 자동화 도구다.
  • 2번 ‘Apache Ant’는 선택 조건과 다르다. 오답 이유 Apache Ant는 build.xml에 정의한 작업을 실행해 컴파일·패키징 등을 자동화하는 빌드 도구다.
  • 3번은 정답 선지다. 정답 근거 Kerberos는 티켓 기반 네트워크 인증 서비스이며 소스 빌드 수명주기를 수행하는 도구가 아니다.
  • 4번 ‘Apache Maven’는 선택 조건과 다르다. 오답 이유 Apache Maven은 POM과 플러그인을 이용해 컴파일·테스트·패키징 수명주기를 관리한다.

정답 판정: 정답 판정: 정답은 3번이다. Ant, Maven, Gradle은 프로젝트 산출물을 만드는 빌드 자동화 도구다. Kerberos는 KDC가 발급하는 티켓과 세션 키를 이용해 클라이언트와 서비스를 인증하는 네트워크 인증 프로토콜이므로 ②가 정답으로 판정된다. 검증 기준: Kerberos의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 79 판정 근거: 정답은 3번이다. Ant, Maven, Gradle은 프로젝트 산출물을 만드는 빌드 자동화 도구다. Kerberos는 KDC가 발급하는 티켓과 세션 키를 이용해 클라이언트와 서비스를 인증하는 네트워크 인증 프로토콜이므로 ②가 정답으로 판정된다.

80. 프로그램과 운영환경을 분석하여 다음 물음에 답한다. 손실을 일부 허용하는 실시간 음성 패킷을 낮은 지연으로 전송하고 재전송 대기는 피하려 한다. 전송 계층 선택은?

  1. UDP
  2. TCP
  3. ICMP
  4. ARP
정답과 해설 보기

정답: 1

정답은 1번이다. 일부 손실보다 지연 최소화가 우선이고 애플리케이션이 필요 시 자체 보완할 수 있다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 UDP는 연결 설정과 신뢰성 재전송 부담 없이 데이터그램을 전달해 지연 민감 트래픽에 활용된다.
  • 2번 ‘TCP’는 선택 조건과 다르다. 오답 이유 TCP는 순서·재전송·흐름 제어를 제공하지만 그만큼 지연과 상태 관리가 추가된다.
  • 3번 ‘ICMP’는 선택 조건과 다르다. 오답 이유 ICMP는 IP 오류·진단 제어 메시지용이지 애플리케이션 음성 전송 계층이 아니다.
  • 4번 ‘ARP’는 선택 조건과 다르다. 오답 이유 ARP는 같은 링크에서 IP 주소에 대응하는 MAC 주소를 찾는 프로토콜이다.

정답 판정: 정답 판정: 정답은 1번이다. 일부 손실보다 지연 최소화가 우선이고 애플리케이션이 필요 시 자체 보완할 수 있다. 검증 기준: UDP의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 80 판정 근거: 정답은 1번이다. 일부 손실보다 지연 최소화가 우선이고 애플리케이션이 필요 시 자체 보완할 수 있다.

정보처리기사 필기 기출문제 · 정보시스템 구축관리

81. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 승인되지 않은 사용자가 급여 파일을 읽지는 못했지만 값을 바꾸었다. 직접 훼손된 보안 속성은?

  1. 무결성
  2. 가용성
  3. 부인방지
  4. 기밀성
정답과 해설 보기

정답: 1

정답은 1번이다. 무결성은 정보가 권한 없는 주체에 의해 변경·삭제되지 않도록 보장하는 속성이다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 인가되지 않은 값 변경은 정보의 정확성과 완전성을 보장하는 무결성을 훼손한다.
  • 2번 ‘가용성’는 선택 조건과 다르다. 오답 이유 서비스가 중단되거나 접근 불가능해진 상황이 아니다.
  • 3번 ‘부인방지’는 선택 조건과 다르다. 오답 이유 행위 사실의 부인을 증명하는 서명·감사 문제와 다르다.
  • 4번 ‘기밀성’는 선택 조건과 다르다. 오답 이유 읽기 노출이 확인되지 않아 기밀성 침해가 핵심 상황은 아니다.

정답 판정: 정답 판정: 정답은 1번이다. 무결성은 정보가 권한 없는 주체에 의해 변경·삭제되지 않도록 보장하는 속성이다. 검증 기준: 무결성의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 81 판정 근거: 정답은 1번이다. 무결성은 정보가 권한 없는 주체에 의해 변경·삭제되지 않도록 보장하는 속성이다.

82. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 한 악성 프로그램이 네트워크의 취약한 호스트를 스캔해 스스로 복사되고, 별도의 숙주 파일이나 사용자의 실행 없이 다음 호스트로 전파된다. 이 유형은?

  1. Adware
  2. Reflection Attack
  3. Worm
  4. Trojan Horse
정답과 해설 보기

정답: 3

정답은 3번이다. 웜은 독립적으로 실행되며 네트워크를 통해 자신을 복제·전파하는 악성 프로그램이다. 숙주 프로그램에 기생하거나 정상 프로그램으로 위장해야 하는 유형과 다르므로 ①이 정답으로 판정된다.

선지별 해설

  • 1번 ‘Adware’는 선택 조건과 다르다. 오답 이유 Adware는 광고 표시·추적을 목적으로 하는 소프트웨어로 자동 네트워크 자기 증식과 구분된다.
  • 2번 ‘Reflection Attack’는 선택 조건과 다르다. 오답 이유 Reflection Attack은 제3의 서버가 피해자에게 응답하도록 출발지 주소를 위조하는 공격 방식이다.
  • 3번은 정답 선지다. 정답 근거 Worm은 호스트 프로그램 없이도 동작하며 네트워크 메커니즘을 이용해 스스로 복제·전파한다.
  • 4번 ‘Trojan Horse’는 선택 조건과 다르다. 오답 이유 Trojan Horse는 정상 프로그램처럼 위장해 악성 기능을 수행하지만 자기 전파가 정의의 핵심은 아니다.

정답 판정: 정답 판정: 정답은 3번이다. 웜은 독립적으로 실행되며 네트워크를 통해 자신을 복제·전파하는 악성 프로그램이다. 숙주 프로그램에 기생하거나 정상 프로그램으로 위장해야 하는 유형과 다르므로 ①이 정답으로 판정된다. 검증 기준: Worm의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 82 판정 근거: 정답은 3번이다. 웜은 독립적으로 실행되며 네트워크를 통해 자신을 복제·전파하는 악성 프로그램이다. 숙주 프로그램에 기생하거나 정상 프로그램으로 위장해야 하는 유형과 다르므로 ①이 정답으로 판정된다.

83. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 대용량 파일을 빠르게 암호화하고 같은 비밀키로 복호화하려 한다. 적합한 알고리즘은?

  1. AES
  2. RSA
  3. SHA-256
  4. ECDSA
정답과 해설 보기

정답: 1

정답은 1번이다. AES는 동일한 비밀키로 블록 데이터를 암·복호화하는 대칭키 알고리즘이다. 반면 SHA-256은 일방향 해시로 원문 복호화를 제공하지 않는다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 AES는 동일한 비밀키로 블록 데이터를 암·복호화하는 대칭키 알고리즘이다.
  • 2번 ‘RSA’는 선택 조건과 다르다. 오답 이유 RSA는 공개키 암호로 대용량 본문 직접 암호화보다 키 교환·서명 등에 주로 사용한다.
  • 3번 ‘SHA-256’는 선택 조건과 다르다. 오답 이유 SHA-256은 일방향 해시로 원문 복호화를 제공하지 않는다.
  • 4번 ‘ECDSA’는 선택 조건과 다르다. 오답 이유 ECDSA는 전자서명 알고리즘으로 데이터 기밀성 암호화 기능이 아니다.

정답 판정: 정답 판정: 정답은 1번이다. AES는 동일한 비밀키로 블록 데이터를 암·복호화하는 대칭키 알고리즘이다. 반면 SHA-256은 일방향 해시로 원문 복호화를 제공하지 않는다. 검증 기준: AES의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 83 판정 근거: 정답은 1번이다. AES는 동일한 비밀키로 블록 데이터를 암·복호화하는 대칭키 알고리즘이다. 반면 SHA-256은 일방향 해시로 원문 복호화를 제공하지 않는다.

84. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 웹 애플리케이션 서버의 논리적 보안 설정 점검표가 아니라 시설의 물리적 보안 통제로 분류해야 하는 것은?

  1. 서버실 출입 배지 확인과 방문자 동행
  2. 서비스 계정의 최소 권한 설정
  3. 운영체제 관리 포트의 접근 대상 제한
  4. 진단 정보와 로그에 포함되는 민감정보 제한
정답과 해설 보기

정답: 1

정답은 1번이다. 서버실 출입 배지와 방문자 통제는 시설에 대한 물리적 접근 통제다. 나머지는 계정 권한, 네트워크·운영체제 접근, 정보 노출을 조정하는 논리적 보안 설정이므로 ①이 구분상 맞다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 시설 출입 지점에서 사람의 접근을 승인·기록·통제하는 활동은 물리적 접근 통제다.
  • 2번 ‘서비스 계정의 최소 권한 설정’는 선택 조건과 다르다. 오답 이유 서비스 계정의 권한 범위를 줄이는 것은 애플리케이션·운영체제의 논리적 접근 통제다.
  • 3번 ‘운영체제 관리 포트의 접근 대상 제한’는 선택 조건과 다르다. 오답 이유 관리 포트에 접속 가능한 주소나 주체를 제한하는 것은 네트워크·운영체제 보안 설정이다.
  • 4번 ‘진단 정보와 로그에 포함되는 민감정보 제한’는 선택 조건과 다르다. 오답 이유 로그와 진단 데이터의 민감정보 수집을 제한하는 것은 정보 노출을 줄이는 논리적 설정이다.

정답 판정: 정답 판정: 정답은 1번이다. 서버실 출입 배지와 방문자 통제는 시설에 대한 물리적 접근 통제다. 나머지는 계정 권한, 네트워크·운영체제 접근, 정보 노출을 조정하는 논리적 보안 설정이므로 ①이 구분상 맞다. 검증 기준: 서버실 출입 배지 확인과 방문자 동행의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 84 판정 근거: 정답은 1번이다. 서버실 출입 배지와 방문자 통제는 시설에 대한 물리적 접근 통제다. 나머지는 계정 권한, 네트워크·운영체제 접근, 정보 노출을 조정하는 논리적 보안 설정이므로 ①이 구분상 맞다.

85. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 서버가 다수의 위조 출발지 SYN을 받고 연결 완료 ACK 없이 반개방 연결만 쌓인다. 공격은?

  1. SYN Flood
  2. SQL 삽입
  3. ARP 스푸핑
  4. Smurf
정답과 해설 보기

정답: 1

정답은 1번이다. SYN Flood는 SYN-ACK 이후 마지막 ACK가 오지 않는 연결을 반복해 서버 자원을 고갈시킨다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 TCP 3-way handshake의 반개방 상태를 대량 생성해 연결 큐를 소모한다.
  • 2번 ‘SQL 삽입’는 선택 조건과 다르다. 오답 이유 SQL 삽입은 입력이 질의 구조로 해석되도록 만들어 DB 명령을 변조한다.
  • 3번 ‘ARP 스푸핑’는 선택 조건과 다르다. 오답 이유 ARP 스푸핑은 거짓 MAC-IP 대응을 유포해 같은 LAN의 트래픽을 가로챈다.
  • 4번 ‘Smurf’는 선택 조건과 다르다. 오답 이유 Smurf는 위조 ICMP 요청을 브로드캐스트로 보내 응답을 증폭한다.

정답 판정: 정답 판정: 정답은 1번이다. SYN Flood는 SYN-ACK 이후 마지막 ACK가 오지 않는 연결을 반복해 서버 자원을 고갈시킨다. 검증 기준: SYN Flood의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 85 판정 근거: 정답은 1번이다. SYN Flood는 SYN-ACK 이후 마지막 ACK가 오지 않는 연결을 반복해 서버 자원을 고갈시킨다.

86. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. V 모델의 개발 단계와 대응 테스트 수준을 연결한 것으로 틀린 설명을 고르면? 왼쪽의 명세·설계 산출물과 오른쪽의 검증 활동이 서로 대응한다고 본다.

  1. 통합 테스트 — 아키텍처와 인터페이스 설계 검증
  2. 단위 테스트 — 모듈 또는 상세 설계 검증
  3. 인수 테스트 — 모듈 상세 설계의 내부 분기 검증
  4. 시스템 테스트 — 시스템 요구사항과 시스템 명세 검증
정답과 해설 보기

정답: 3

정답은 3번이다. V 모델에서 단위 테스트는 상세 설계, 통합 테스트는 아키텍처·인터페이스 설계, 시스템 테스트는 시스템 명세와 대응한다. 인수 테스트는 사용자·업무 요구 충족을 확인하는 수준이지 모듈 내부 분기를 검사하는 활동이 아니다. 따라서 ①이 옳지 않다.

선지별 해설

  • 1번 ‘통합 테스트 — 아키텍처와 인터페이스 설계 검증’는 선택 조건과 다르다. 오답 이유 모듈 사이 인터페이스와 아키텍처 수준의 결합은 통합 테스트와 대응한다.
  • 2번 ‘단위 테스트 — 모듈 또는 상세 설계 검증’는 선택 조건과 다르다. 오답 이유 개별 모듈의 로직과 상세 설계 구현을 확인하는 것은 단위 테스트다.
  • 3번은 정답 선지다. 정답 근거 모듈 내부 분기와 상세 설계는 단위 테스트의 대상이다. 인수 테스트는 사용자의 요구와 수용 기준을 검증한다.
  • 4번 ‘시스템 테스트 — 시스템 요구사항과 시스템 명세 검증’는 선택 조건과 다르다. 오답 이유 완성된 시스템이 시스템 요구와 명세를 만족하는지는 시스템 테스트에서 확인한다.

정답 판정: 정답 판정: 정답은 3번이다. V 모델에서 단위 테스트는 상세 설계, 통합 테스트는 아키텍처·인터페이스 설계, 시스템 테스트는 시스템 명세와 대응한다. 인수 테스트는 사용자·업무 요구 충족을 확인하는 수준이지 모듈 내부 분기를 검사하는 활동이 아니다. 따라서 ①이 옳지 않다. 검증 기준: 인수 테스트 — 모듈 상세 설계의 내부 분기 검증의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 86 판정 근거: 정답은 3번이다. V 모델에서 단위 테스트는 상세 설계, 통합 테스트는 아키텍처·인터페이스 설계, 시스템 테스트는 시스템 명세와 대응한다. 인수 테스트는 사용자·업무 요구 충족을 확인하는 수준이지 모듈 내부 분기를 검사하는 활동이 아니다. 따라서 ①이 옳지 않다.

87. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 낙관 LOC 600, 가능성 높은 LOC 800, 비관 LOC 1600을 제시했다. 가중 평균 (낙관+4×가능+비관)/6은?

  1. 1600 LOC
  2. 900 LOC
  3. 600 LOC
  4. 800 LOC
정답과 해설 보기

정답: 2

정답은 2번이다. 세 점 추정식에 값을 대입하면 (600 + 4×800 + 1600) / 6 = 5400 / 6 = 900이다. 가능성 높은 값에 가장 큰 가중치를 주되 낙관치와 비관치도 함께 반영한 결과다.

선지별 해설

  • 1번 ‘1600 LOC’는 선택 조건과 다르다. 오답 이유 비관치만 사용해 낙관·가능 추정을 반영하지 않았다.
  • 2번은 정답 선지다. 정답 근거 (600 + 4×800 + 1600) / 6을 계산하면 900이므로 세 추정치를 모두 반영한 값이다.
  • 3번 ‘600 LOC’는 선택 조건과 다르다. 오답 이유 낙관치만 사용해 중간·비관 추정을 반영하지 않았다.
  • 4번 ‘800 LOC’는 선택 조건과 다르다. 오답 이유 가능성 높은 값 자체이며 4배 가중 뒤 평균을 계산하지 않았다.

정답 판정: 정답 판정: 정답은 2번이다. 세 점 추정식에 값을 대입하면 (600 + 4×800 + 1600) / 6 = 5400 / 6 = 900이다. 가능성 높은 값에 가장 큰 가중치를 주되 낙관치와 비관치도 함께 반영한 결과다. 검증 기준: 900 LOC의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 87 판정 근거: 정답은 2번이다. 세 점 추정식에 값을 대입하면 (600 + 4×800 + 1600) / 6 = 5400 / 6 = 900이다. 가능성 높은 값에 가장 큰 가중치를 주되 낙관치와 비관치도 함께 반영한 결과다.

독립 계산·실행 추적: (600+4×800+1600)/6=900 LOC다.

88. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 로그인 API가 문자열 연결 대신 SELECT … WHERE id = ? AND pw_hash = ? 형태의 준비된 문장을 사용한다. 이 보안 조치에 대한 기술로 적절하지 않은 설명을 고르면?

  1. 사용자 입력을 SQL 코드가 아닌 바인딩 값으로 전달한다.
  2. 입력이 쿼리 구조를 바꾸기 어렵게 해 SQL 삽입 위험을 낮춘다.
  3. 모든 DBMS의 문법·함수·주석 표기가 같으므로 공격 구문도 항상 동일하다.
  4. 서버 쪽 권한 최소화와 오류 정보 제한도 함께 적용할 수 있다.
정답과 해설 보기

정답: 3

정답은 3번이다. 매개변수 바인딩은 입력을 SQL 구조와 분리한다. DBMS마다 문법, 함수, 주석, 형 변환이 다르므로 공격 구문이 항상 같다는 ③은 틀리다.

선지별 해설

  • 1번 ‘사용자 입력을 SQL 코드가 아닌 바인딩 값으로 전달한다.’는 선택 조건과 다르다. 오답 이유 플레이스홀더 값은 SQL 명령 구조와 별도로 바인딩된다.
  • 2번 ‘입력이 쿼리 구조를 바꾸기 어렵게 해 SQL 삽입 위험을 낮춘다.’는 선택 조건과 다르다. 오답 이유 입력이 연산자나 절로 해석되지 않게 하는 것이 준비된 문장의 핵심 효과다.
  • 3번은 정답 선지다. 정답 근거 DBMS별 SQL 방언과 함수 차이 때문에 세부 공격 구문은 달라질 수 있다.
  • 4번 ‘서버 쪽 권한 최소화와 오류 정보 제한도 함께 적용할 수 있다.’는 선택 조건과 다르다. 오답 이유 심층 방어에는 최소 권한과 과도한 오류 정보 노출 방지도 포함된다.

정답 판정: 정답 판정: 정답은 3번이다. 매개변수 바인딩은 입력을 SQL 구조와 분리한다. DBMS마다 문법, 함수, 주석, 형 변환이 다르므로 공격 구문이 항상 같다는 ③은 틀리다. 검증 기준: 모든 DBMS의 문법·함수·주석 표기가 같으므로 공격 구문도 항상 동일하다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 88 판정 근거: 정답은 3번이다. 매개변수 바인딩은 입력을 SQL 구조와 분리한다. DBMS마다 문법, 함수, 주석, 형 변환이 다르므로 공격 구문이 항상 같다는 ③은 틀리다.

89. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 대규모 결제 시스템을 나선형 모델로 개발할 때의 기술로 틀린 설명을 고르면? 초기 요구가 완전히 확정되지 않았고, 외부 결제망 연동과 성능 위험을 반복적으로 확인해야 한다.

  1. 위험이 큰 기술은 시제품이나 분석으로 조기에 검증할 수 있다.
  2. 고객 평가 결과를 다음 반복 주기의 계획에 반영할 수 있다.
  3. 상세 설계가 시작되면 이후 반복 주기에서는 위험 분석을 다시 수행하지 않는다.
  4. 각 반복 주기에서 목표·대안·제약을 먼저 정리한다.
정답과 해설 보기

정답: 3

정답은 3번이다. 나선형 모델은 반복마다 목표와 대안을 정하고, 위험을 분석한 뒤 개발·검증과 이해관계자 평가를 수행하는 위험 중심 접근이다. 위험은 한 번만 확인하는 단계가 아니라 반복 주기마다 새 정보에 맞춰 다시 평가한다. 따라서 상세 설계 이후 위험 분석을 중단한다는 ④가 옳지 않다.

선지별 해설

  • 1번 ‘위험이 큰 기술은 시제품이나 분석으로 조기에 검증할 수 있다.’는 선택 조건과 다르다. 오답 이유 성능·연동처럼 실패 비용이 큰 항목을 시제품이나 분석으로 먼저 확인하는 것은 위험을 줄이는 대표적인 방법이다.
  • 2번 ‘고객 평가 결과를 다음 반복 주기의 계획에 반영할 수 있다.’는 선택 조건과 다르다. 오답 이유 평가에서 얻은 피드백은 다음 주기의 목표와 우선순위를 조정하는 입력으로 사용되므로 반복 개발의 취지와 맞는다.
  • 3번은 정답 선지다. 정답 근거 나선형 모델은 위험을 지속적으로 식별·분석·완화한다. 상세 설계가 시작되었다는 이유로 이후 위험 분석을 생략하지 않는다.
  • 4번 ‘각 반복 주기에서 목표·대안·제약을 먼저 정리한다.’는 선택 조건과 다르다. 오답 이유 목표·대안·제약을 명시해야 이번 반복에서 무엇을 검증하고 선택할지 결정할 수 있으므로 나선형 모델의 계획 활동에 맞는다.

정답 판정: 정답 판정: 정답은 3번이다. 나선형 모델은 반복마다 목표와 대안을 정하고, 위험을 분석한 뒤 개발·검증과 이해관계자 평가를 수행하는 위험 중심 접근이다. 위험은 한 번만 확인하는 단계가 아니라 반복 주기마다 새 정보에 맞춰 다시 평가한다. 따라서 상세 설계 이후 위험 분석을 중단한다는 ④가 옳지 않다. 검증 기준: 상세 설계가 시작되면 이후 반복 주기에서는 위험 분석을 다시 수행하지 않는다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 89 판정 근거: 정답은 3번이다. 나선형 모델은 반복마다 목표와 대안을 정하고, 위험을 분석한 뒤 개발·검증과 이해관계자 평가를 수행하는 위험 중심 접근이다. 위험은 한 번만 확인하는 단계가 아니라 반복 주기마다 새 정보에 맞춰 다시 평가한다. 따라서 상세 설계 이후 위험 분석을 중단한다는 ④가 옳지 않다.

90. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 위험이 큰 핵심 기능을 작은 반복마다 시제품으로 구현하고 위험 분석 후 다음 반복 범위를 정한다. 개발 모델은?

  1. 빅뱅 모델
  2. V 모델
  3. 나선형 모델
  4. 폭포수 모델
정답과 해설 보기

정답: 3

정답은 3번이다. 각 반복에서 목표 설정·위험 분석·개발·평가를 수행하며 위험을 중심으로 진화한다.

선지별 해설

  • 1번 ‘빅뱅 모델’는 선택 조건과 다르다. 오답 이유 빅뱅은 충분한 계획·위험 통제 없이 자원을 투입하는 접근이다.
  • 2번 ‘V 모델’는 선택 조건과 다르다. 오답 이유 V 모델은 개발 단계와 대응 시험 단계를 연결하는 검증·확인 구조다.
  • 3번은 정답 선지다. 정답 근거 각 반복에서 목표 설정·위험 분석·개발·평가를 수행하며 위험을 중심으로 진화한다.
  • 4번 ‘폭포수 모델’는 선택 조건과 다르다. 오답 이유 폭포수는 단계별 산출물과 순차 진행이 중심이며 매 반복 위험 분석이 핵심은 아니다.

정답 판정: 정답 판정: 정답은 3번이다. 각 반복에서 목표 설정·위험 분석·개발·평가를 수행하며 위험을 중심으로 진화한다. 검증 기준: 나선형 모델의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 90 판정 근거: 정답은 3번이다. 각 반복에서 목표 설정·위험 분석·개발·평가를 수행하며 위험을 중심으로 진화한다.

91. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 인증 요소와 사례의 연결로 적절하지 않은 것은?

  1. 행위 요소 — 사용자의 서명 동작
  2. 지식 요소 — 사용자가 기억한 PIN
  3. 소유 요소 — 사용자가 보유한 보안 토큰
  4. 생체 요소 — 사용자가 제시한 QR 코드 문자열
정답과 해설 보기

정답: 4

정답은 4번이다. 생체 요소는 지문·홍채·얼굴처럼 사용자 몸의 고유 특징이다. QR 코드 문자열은 기기나 매체의 소유 또는 지식과 연결될 수 있으므로 생체 요소로 분류한 ③이 부적절하다.

선지별 해설

  • 1번 ‘행위 요소 — 사용자의 서명 동작’는 선택 조건과 다르다. 오답 이유 서명 습관과 동작은 사용자가 하는 행위 요소로 활용할 수 있다.
  • 2번 ‘지식 요소 — 사용자가 기억한 PIN’는 선택 조건과 다르다. 오답 이유 PIN은 사용자가 알고 있는 지식 요소다.
  • 3번 ‘소유 요소 — 사용자가 보유한 보안 토큰’는 선택 조건과 다르다. 오답 이유 보안 토큰은 사용자가 가지고 있는 소유 요소다.
  • 4번은 정답 선지다. 정답 근거 QR 코드 문자열은 신체 고유 특징이 아니므로 생체 요소가 아니다.

정답 판정: 정답 판정: 정답은 4번이다. 생체 요소는 지문·홍채·얼굴처럼 사용자 몸의 고유 특징이다. QR 코드 문자열은 기기나 매체의 소유 또는 지식과 연결될 수 있으므로 생체 요소로 분류한 ③이 부적절하다. 검증 기준: 생체 요소 — 사용자가 제시한 QR 코드 문자열의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 91 판정 근거: 정답은 4번이다. 생체 요소는 지문·홍채·얼굴처럼 사용자 몸의 고유 특징이다. QR 코드 문자열은 기기나 매체의 소유 또는 지식과 연결될 수 있으므로 생체 요소로 분류한 ③이 부적절하다.

92. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 사용자 입력을 문자열 연결로 SQL WHERE 절에 붙인다. 가장 직접적인 개선은?

  1. 오류 메시지만 숨긴다
  2. 매개변수화된 질의를 사용한다
  3. DB 포트를 임의 번호로 바꾼다
  4. 화면 글꼴을 변경한다
정답과 해설 보기

정답: 2

정답은 2번이다. 입력값을 SQL 코드와 분리해 데이터 매개변수로 전달하면 질의 구조 변조를 막는다.

선지별 해설

  • 1번 ‘오류 메시지만 숨긴다’는 선택 조건과 다르다. 오답 이유 오류 노출 감소는 정보 유출을 줄이지만 삽입 취약점의 원인을 제거하지 않는다.
  • 2번은 정답 선지다. 정답 근거 입력값을 SQL 코드와 분리해 데이터 매개변수로 전달하면 질의 구조 변조를 막는다.
  • 3번 ‘DB 포트를 임의 번호로 바꾼다’는 선택 조건과 다르다. 오답 이유 포트 변경은 문자열 연결로 생기는 SQL 코드 해석을 막지 못한다.
  • 4번 ‘화면 글꼴을 변경한다’는 선택 조건과 다르다. 오답 이유 화면 글꼴은 서버 질의 생성과 무관하다.

정답 판정: 정답 판정: 정답은 2번이다. 입력값을 SQL 코드와 분리해 데이터 매개변수로 전달하면 질의 구조 변조를 막는다. 검증 기준: 매개변수화된 질의를 사용한다의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 92 판정 근거: 정답은 2번이다. 입력값을 SQL 코드와 분리해 데이터 매개변수로 전달하면 질의 구조 변조를 막는다.

93. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 두 대의 서버가 공유 디스크와 서비스 IP를 감시하다가 활성 서버에 장애가 나면 대기 서버가 자원 그룹을 인수해 서비스를 계속 제공한다. 이 목적에 가장 가까운 솔루션은?

  1. 단순 점대점 케이블
  2. 산업 제어 악성코드
  3. IP 경로 선택 알고리즘
  4. 고가용성 클러스터
정답과 해설 보기

정답: 4

정답은 4번이다. 장애 감지 후 대기 노드가 서비스 IP와 저장 자원을 인수해 중단 시간을 줄이는 구조는 고가용성 클러스터다. 연결 방식이나 라우팅 기능이 아니라 서비스 장애 조치가 핵심이므로 ①이 답이다.

선지별 해설

  • 1번 ‘단순 점대점 케이블’는 선택 조건과 다르다. 오답 이유 점대점 케이블은 두 장치의 연결 형태일 뿐 서비스 자원 장애 조치를 제공하지 않는다.
  • 2번 ‘산업 제어 악성코드’는 선택 조건과 다르다. 오답 이유 산업 제어 악성코드는 시스템을 공격하는 위협으로 가용성 솔루션이 아니다.
  • 3번 ‘IP 경로 선택 알고리즘’는 선택 조건과 다르다. 오답 이유 라우팅은 패킷 경로를 선택하지만 서버 프로세스와 공유 디스크 자원을 인수하지 않는다.
  • 4번은 정답 선지다. 정답 근거 고가용성 클러스터는 노드 상태를 감시하고 장애 시 자원을 다른 노드로 이전한다.

정답 판정: 정답 판정: 정답은 4번이다. 장애 감지 후 대기 노드가 서비스 IP와 저장 자원을 인수해 중단 시간을 줄이는 구조는 고가용성 클러스터다. 연결 방식이나 라우팅 기능이 아니라 서비스 장애 조치가 핵심이므로 ①이 답이다. 검증 기준: 고가용성 클러스터의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 93 판정 근거: 정답은 4번이다. 장애 감지 후 대기 노드가 서비스 IP와 저장 자원을 인수해 중단 시간을 줄이는 구조는 고가용성 클러스터다. 연결 방식이나 라우팅 기능이 아니라 서비스 장애 조치가 핵심이므로 ①이 답이다.

94. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 게시판이 사용자 입력을 HTML 본문에 다시 표시한다. 스크립트 실행을 막는 가장 직접적인 출력 단계 방어는?

  1. 브라우저 캐시만 비활성화
  2. HTML 문맥에 맞는 출력 인코딩
  3. 입력 길이를 무조건 1자로 제한
  4. DB 포트 번호 변경
정답과 해설 보기

정답: 2

정답은 2번이다. HTML 특수문자를 현재 출력 문맥에 맞게 인코딩하면 입력이 실행 코드가 아니라 텍스트로 해석된다.

선지별 해설

  • 1번 ‘브라우저 캐시만 비활성화’는 선택 조건과 다르다. 오답 이유 캐시 설정은 응답 본문의 스크립트 해석 자체를 차단하지 않는다.
  • 2번은 정답 선지다. 정답 근거 HTML 특수문자를 현재 출력 문맥에 맞게 인코딩하면 입력이 실행 코드가 아니라 텍스트로 해석된다.
  • 3번 ‘입력 길이를 무조건 1자로 제한’는 선택 조건과 다르다. 오답 이유 길이 제한만으로 한 글자 기반 구문이나 다른 문맥의 공격을 근본적으로 막지 못한다.
  • 4번 ‘DB 포트 번호 변경’는 선택 조건과 다르다. 오답 이유 DB 포트는 브라우저에서 HTML이 해석되는 XSS 원인과 무관하다.

정답 판정: 정답 판정: 정답은 2번이다. HTML 특수문자를 현재 출력 문맥에 맞게 인코딩하면 입력이 실행 코드가 아니라 텍스트로 해석된다. 검증 기준: HTML 문맥에 맞는 출력 인코딩의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 94 판정 근거: 정답은 2번이다. HTML 특수문자를 현재 출력 문맥에 맞게 인코딩하면 입력이 실행 코드가 아니라 텍스트로 해석된다.

95. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 상담원에게 고객 조회 권한만 주고 삭제 권한은 관리자 역할에만 둔다. 적용한 원칙과 모델의 조합은?

  1. 최소 권한과 RBAC
  2. 전면 공개와 DAC 해제
  3. 가용성 우선과 익명 접근
  4. 부인방지와 해시 충돌
정답과 해설 보기

정답: 1

정답은 1번이다. 개인별 임의 권한이 아니라 상담원·관리자 역할에 권한을 연결하고 업무 최소 범위만 허용한다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 업무에 필요한 최소 권한을 역할에 묶어 사용자에게 부여하는 RBAC 구성이다.
  • 2번 ‘전면 공개와 DAC 해제’는 선택 조건과 다르다. 오답 이유 모든 권한 공개는 최소 권한과 반대이며 DAC 해제가 역할 통제를 뜻하지 않는다.
  • 3번 ‘가용성 우선과 익명 접근’는 선택 조건과 다르다. 오답 이유 익명 접근은 역할별 인가를 약화하며 상황의 목적과 다르다.
  • 4번 ‘부인방지와 해시 충돌’는 선택 조건과 다르다. 오답 이유 해시 충돌은 권한 배분 모델이나 삭제 통제와 관련이 없다.

정답 판정: 정답 판정: 정답은 1번이다. 개인별 임의 권한이 아니라 상담원·관리자 역할에 권한을 연결하고 업무 최소 범위만 허용한다. 검증 기준: 최소 권한과 RBAC의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 95 판정 근거: 정답은 1번이다. 개인별 임의 권한이 아니라 상담원·관리자 역할에 권한을 연결하고 업무 최소 범위만 허용한다.

96. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 동일 OS 커널을 공유하면서 애플리케이션별 사용자 공간과 파일시스템을 격리해 빠르게 배포한다. 기술은?

  1. 컨테이너
  2. 전가상화 가상머신만 해당
  3. RAID 미러링
  4. DNS 라운드로빈
정답과 해설 보기

정답: 1

정답은 1번이다. 컨테이너는 호스트 커널을 공유하고 네임스페이스·cgroup 등으로 프로세스 환경을 격리한다. 반면 DNS 라운드로빈은 이름 해석 응답을 분산하며 실행 환경을 격리하지 않는다.

선지별 해설

  • 1번은 정답 선지다. 정답 근거 컨테이너는 호스트 커널을 공유하고 네임스페이스·cgroup 등으로 프로세스 환경을 격리한다.
  • 2번 ‘전가상화 가상머신만 해당’는 선택 조건과 다르다. 오답 이유 가상머신은 일반적으로 게스트 OS와 가상 하드웨어를 포함해 커널 공유 조건과 다르다.
  • 3번 ‘RAID 미러링’는 선택 조건과 다르다. 오답 이유 RAID 미러링은 저장장치 중복 구성으로 프로세스 격리 기술이 아니다.
  • 4번 ‘DNS 라운드로빈’는 선택 조건과 다르다. 오답 이유 DNS 라운드로빈은 이름 해석 응답을 분산하며 실행 환경을 격리하지 않는다.

정답 판정: 정답 판정: 정답은 1번이다. 컨테이너는 호스트 커널을 공유하고 네임스페이스·cgroup 등으로 프로세스 환경을 격리한다. 반면 DNS 라운드로빈은 이름 해석 응답을 분산하며 실행 환경을 격리하지 않는다. 검증 기준: 컨테이너의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 96 판정 근거: 정답은 1번이다. 컨테이너는 호스트 커널을 공유하고 네임스페이스·cgroup 등으로 프로세스 환경을 격리한다. 반면 DNS 라운드로빈은 이름 해석 응답을 분산하며 실행 환경을 격리하지 않는다.

97. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 런타임·미들웨어·배포 플랫폼은 공급자에게 맡기고 애플리케이션 코드와 데이터만 관리한다. 클라우드 모델은?

  1. IaaS
  2. SaaS
  3. 온프레미스만 사용
  4. PaaS
정답과 해설 보기

정답: 4

정답은 4번이다. PaaS에서는 공급자가 인프라와 플랫폼 실행환경을 제공하고 사용자는 애플리케이션을 배포한다.

선지별 해설

  • 1번 ‘IaaS’는 선택 조건과 다르다. 오답 이유 IaaS 사용자는 운영체제·미들웨어 등 더 많은 계층을 직접 관리한다.
  • 2번 ‘SaaS’는 선택 조건과 다르다. 오답 이유 SaaS는 완성된 응용 서비스를 사용하며 일반적으로 사용자가 애플리케이션 코드를 배포하지 않는다.
  • 3번 ‘온프레미스만 사용’는 선택 조건과 다르다. 오답 이유 온프레미스는 하드웨어부터 응용까지 조직이 직접 관리하는 형태다.
  • 4번은 정답 선지다. 정답 근거 PaaS에서는 공급자가 인프라와 플랫폼 실행환경을 제공하고 사용자는 애플리케이션을 배포한다.

정답 판정: 정답 판정: 정답은 4번이다. PaaS에서는 공급자가 인프라와 플랫폼 실행환경을 제공하고 사용자는 애플리케이션을 배포한다. 검증 기준: PaaS의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 97 판정 근거: 정답은 4번이다. PaaS에서는 공급자가 인프라와 플랫폼 실행환경을 제공하고 사용자는 애플리케이션을 배포한다.

98. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 4TB 디스크 5개로 RAID 5를 구성한다. 모든 디스크 용량이 같을 때 사용 가능 용량은?

  1. 20TB
  2. 8TB
  3. 4TB
  4. 16TB
정답과 해설 보기

정답: 4

정답은 4번이다. 동일 크기 N개 RAID 5의 유효 용량은 (N-1)×최소 디스크 용량이다.

선지별 해설

  • 1번 ‘20TB’는 선택 조건과 다르다. 오답 이유 20TB는 패리티 오버헤드를 제외하지 않은 원시 합계다.
  • 2번 ‘8TB’는 선택 조건과 다르다. 오답 이유 8TB는 두 개 디스크만 데이터에 사용한다고 잘못 계산한 값이다.
  • 3번 ‘4TB’는 선택 조건과 다르다. 오답 이유 4TB는 패리티 한 개 분량만 본 값이다.
  • 4번은 정답 선지다. 정답 근거 RAID 5는 디스크 한 개 분량을 분산 패리티에 사용하므로 (5-1)×4TB=16TB다.

정답 판정: 정답 판정: 정답은 4번이다. 동일 크기 N개 RAID 5의 유효 용량은 (N-1)×최소 디스크 용량이다. 검증 기준: 16TB의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 98 판정 근거: 정답은 4번이다. 동일 크기 N개 RAID 5의 유효 용량은 (N-1)×최소 디스크 용량이다.

독립 계산·실행 추적: RAID 5는 한 디스크 상당 패리티를 사용하므로 (5-1)×4TB=16TB다.

99. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 창고 센서는 메시지 중복을 허용하지만 일시적인 손실이 있어도 브로커가 수신할 때까지 재전송해야 한다. 적합한 MQTT QoS는?

  1. Retain 플래그만 사용
  2. QoS 1
  3. QoS 0
  4. QoS 2
정답과 해설 보기

정답: 2

정답은 2번이다. QoS 1은 PUBACK을 받을 때까지 같은 패킷 식별자로 재전송할 수 있어 최소 한 번 전달 조건에 맞는다.

선지별 해설

  • 1번 ‘Retain 플래그만 사용’는 선택 조건과 다르다. 오답 이유 Retain은 마지막 메시지를 새 구독자에게 보관·전달하는 기능이며 송신 확인과 재전송 보장을 대신하지 않는다.
  • 2번은 정답 선지다. 정답 근거 QoS 1은 PUBACK을 받을 때까지 같은 패킷 식별자로 재전송할 수 있어 최소 한 번 전달 조건에 맞는다.
  • 3번 ‘QoS 0’는 선택 조건과 다르다. 오답 이유 QoS 0은 확인 응답과 재전송 절차가 없어 전송 중 손실되면 브로커 도착을 보장하지 못한다.
  • 4번 ‘QoS 2’는 선택 조건과 다르다. 오답 이유 QoS 2는 정확히 한 번 전달을 위한 추가 교환을 사용하므로 중복을 허용한 최소 요구보다 강하다.

정답 판정: 정답 판정: 정답은 2번이다. QoS 1은 PUBACK을 받을 때까지 같은 패킷 식별자로 재전송할 수 있어 최소 한 번 전달 조건에 맞는다. 검증 기준: QoS 1의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 99 판정 근거: 정답은 2번이다. QoS 1은 PUBACK을 받을 때까지 같은 패킷 식별자로 재전송할 수 있어 최소 한 번 전달 조건에 맞는다.

독립 계산·실행 추적: QoS 1은 브로커가 PUBACK할 때까지 재전송해 최소 1회 전달을 보장한다.

100. 정보시스템 구축·보안 검토에서 다음 항목을 판단한다. 클라우드 HSM을 이용해 전자서명 키를 운영하는 방식에 대한 기술로 틀린 설명을 고르면? 애플리케이션은 API로 서명 연산을 요청하고 개인키 원문은 애플리케이션 서버로 내보내지 않는다.

  1. 암호 키 생성과 민감한 연산을 보호된 암호 모듈 경계 안에서 수행할 수 있다.
  2. 애플리케이션은 키 원문을 직접 보관하지 않고 HSM에 연산을 요청할 수 있다.
  3. 사용자 역할·인증·감사 기록 등 운영 통제는 클라우드 환경에서도 필요하다.
  4. 일반 객체 스토리지에 개인키를 평문으로 저장해도 소프트웨어 암호 라이브러리만 사용하면 HSM과 같은 보호 경계가 된다.
정답과 해설 보기

정답: 4

정답은 4번이다. HSM은 키와 암호 연산을 통제된 암호 모듈 경계에서 보호한다. 일반 객체 스토리지의 평문 키와 소프트웨어 라이브러리만으로는 HSM의 물리적·논리적 보호 경계를 제공하지 못하므로 ④가 틀리다.

선지별 해설

  • 1번 ‘암호 키 생성과 민감한 연산을 보호된 암호 모듈 경계 안에서 수행할 수 있다.’는 선택 조건과 다르다. 오답 이유 HSM의 목적은 민감한 보안 매개변수와 암호 연산을 정의된 보호 경계 안에서 다루는 것이다.
  • 2번 ‘애플리케이션은 키 원문을 직접 보관하지 않고 HSM에 연산을 요청할 수 있다.’는 선택 조건과 다르다. 오답 이유 키를 외부로 추출하지 않고 모듈 내부에서 서명·복호화 같은 연산을 수행하는 방식은 HSM의 대표적 사용 형태다.
  • 3번 ‘사용자 역할·인증·감사 기록 등 운영 통제는 클라우드 환경에서도 필요하다.’는 선택 조건과 다르다. 오답 이유 HSM을 사용해도 누가 어떤 키 연산을 수행할 수 있는지 역할·인증·감사를 구성해야 한다.
  • 4번은 정답 선지다. 정답 근거 평문 키를 일반 스토리지에 두는 것은 HSM의 보호 경계를 우회하므로 동등한 보안 구조가 아니다.

정답 판정: 정답 판정: 정답은 4번이다. HSM은 키와 암호 연산을 통제된 암호 모듈 경계에서 보호한다. 일반 객체 스토리지의 평문 키와 소프트웨어 라이브러리만으로는 HSM의 물리적·논리적 보호 경계를 제공하지 못하므로 ④가 틀리다. 검증 기준: 일반 객체 스토리지에 개인키를 평문으로 저장해도 소프트웨어 암호 라이브러리만 사용하면 HSM과 같은 보호 경계가 된다.의 정의와 관련 동작 규칙을 기준으로 판정한다. 원문 대조: 문항 100 판정 근거: 정답은 4번이다. HSM은 키와 암호 연산을 통제된 암호 모듈 경계에서 보호한다. 일반 객체 스토리지의 평문 키와 소프트웨어 라이브러리만으로는 HSM의 물리적·논리적 보호 경계를 제공하지 못하므로 ④가 틀리다.

정보처리기사 필기 기출문제 학습 방법

먼저 PDF 문제지를 시간에 맞춰 푼 뒤, 이 글에서 오답의 정답·해설·근거를 확인하세요. 법규 문항은 근거 기준일 이후 개정 여부도 함께 확인하는 것이 안전합니다.

정보처리기사 과년도 전체 보기 · Q-Net 현행 출제기준 확인

자료 기준·검수 정보