2020년 정보처리기사실기 4회차 기출문제 정답·해설 페이지
- 삽입 이상: 원치 않는 데이터까지 함께 입력해야만 새 데이터를 넣을 수 있는 문제
- 삭제 이상: 한 튜플을 삭제하면 함께 저장돼 있던 다른 필요한 데이터까지 같이 사라지는 문제
- 갱신 이상: 중복 저장된 데이터 중 일부만 수정되어 데이터 불일치가 생기는 문제
[해설]
주소 고갈 문제를 해결하기 위해 기존 IPv4의 32비트 주소를 128비트로 확장한 차세대 인터넷 프로토콜이 IPv6이기 때문이다.
확장된 주소 공간 외에도 IPSec 기반의 보안 기능 내장, 헤더 간소화를 통한 처리 속도 향상, 자동 주소 설정을 통한 이동성 지원 등이 IPv4 대비 개선점으로 함께 출제된다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
GoF 디자인 패턴은 목적에 따라 생성(Creational), 구조(Structural), 행위(Behavioral) 패턴으로 분류되므로 빈칸에는 행위가 들어간다.
생성 패턴은 객체 생성 방식을, 구조 패턴은 클래스·객체의 구성 방식을 다루는 반면, 행위 패턴은 옵저버·전략·템플릿 메서드처럼 객체 간 상호작용과 책임 분배 방식을 다룬다는 점이 구분 기준이다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.

[해설]
패키지 다이어그램은 클래스나 컴포넌트처럼 관련된 요소들을 패키지 단위로 묶고 그 사이의 의존 관계를 표현하는 UML 구조 다이어그램이라 판매 업무처럼 여러 하위 모듈로 구성된 시스템을 표현하기에 적합하다.
패키지를 폴더 모양 기호로 그리고 패키지 간 점선 화살표(의존 관계)로 연결하는 표기가 특징이며, 클래스 내부 구조까지 보여주는 클래스 다이어그램이나 실행 시 객체 배치를 보여주는 배치 다이어그램과는 표현 수준이 다르다는 점이 구분 포인트다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
트랜잭션이 실행되는 도중에도 변경 내용을 바로 데이터베이스에 반영하기 때문에, 이후 장애가 나면 Redo(재실행)와 Undo(취소)를 모두 수행해야 하는 즉각 갱신 회복 기법이 된다.
이는 트랜잭션이 완료된 후에만 DB에 반영해 Undo가 필요 없는 지연 갱신 회복 기법과 대비되는 개념으로, 로그(log)에 갱신 전·후 값을 모두 기록해 둔다는 점이 함께 출제되는 포인트다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.

[해설]
10진수를 2진수로 바꾸는 기본 원리는 2로 나눈 나머지를 구하는 일을 자릿수만큼 반복하는 것이라, 빈칸에도 반복 조건과 나머지를 구하는 식이 들어간다.
①은 반복을 언제까지 할지 정하는 조건으로, 몫이 0이 될 때까지 도는 n > 0(=n >= 1)이나 8자리를 채우는 i < 8(=i <= 7)이 모두 성립한다.
②는 그 회차의 비트값으로, 2로 나눈 나머지인 n % 2나 최하위 비트만 남기는 n & 1을 쓴다. 이렇게 얻은 비트는 나중에 나온 것일수록 상위 자리이므로 역순으로 이어 붙여야 출력 00001010이 된다는 점이 함께 출제된다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.

[해설]
출력이 3행 5열로 1부터 15까지 채워져 있으므로, 빈칸에는 각각 행의 개수 3과 열의 개수 5가 들어간다.
한 행을 보면 1 4 7 10 13처럼 값이 3씩 커지는데, 이는 숫자를 세로(열) 방향으로 먼저 채운 뒤 가로로 읽어 출력했기 때문이다. 즉 행의 개수 3이 가로 방향 증가 간격을 결정한다.
따라서 ①에는 3, ②에는 5가 들어가며, 두 값을 서로 바꿔 넣으면 5행 3열이 되어 출력 모양 자체가 달라진다는 점이 채점 포인트다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
네트워크 상의 패킷을 몰래 엿듣고 수집해 정보를 빼내는 방식이라 능동적으로 트래픽을 조작하지 않는 수동적 공격으로 분류된다.
스니핑은 정보를 가로채기만 할 뿐 변조하지 않는다는 점에서, 통신 내용을 가로채 변조·재전송하는 스푸핑이나 세션을 가로채는 세션 하이재킹과 구분해서 묻는 경우가 많다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
내부의 사설 IP 주소와 외부의 공인 IP 주소를 서로 변환해 주는 기술이 NAT이기 때문에 이 답이 된다.
라우터나 게이트웨이가 패킷 헤더의 IP 주소와 포트 번호를 재기록하는 방식이라, 하나의 공인 IP로 여러 대의 내부 호스트가 인터넷을 사용할 수 있다.
덕분에 IPv4 주소 부족 문제를 완화하고 내부 네트워크 구조를 외부에 감춰 보안성을 높이는 효과가 있다는 점이 채점 포인트다. 참고로 NAT의 원어 표기는 Network Address Translation이다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
다수의 참여자가 P2P 분산 네트워크로 거래 내역을 '블록' 단위로 연결·저장해 임의 조작을 막는 기술이기 때문이다.
각 블록에는 이전 블록의 해시값이 포함되어 체인처럼 연결되며, 한 노드가 데이터를 위조해도 전체 네트워크가 대조·검증해 불일치를 즉시 탐지하는 구조가 조작 방지의 핵심 원리다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
일반 PC급 서버 여러 대를 묶어 대용량 데이터를 분산 저장·병렬 처리하는 오픈소스 자바 프레임워크가 하둡이기 때문이다.
분산 저장을 담당하는 HDFS와 분산 처리를 담당하는 MapReduce가 핵심 구성 요소이며, 저가의 범용 하드웨어로도 대규모 데이터를 처리할 수 있다는 점이 채점 포인트다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
정규화가 되지 않은 테이블에서 데이터를 추가·삭제·수정할 때 불필요한 데이터 중복이나 손실이 발생하는 현상이 이상(anomaly)이기 때문에 세 가지 유형이 함께 답이 된다.
세 가지 이상현상은 모두 정규화를 통해 테이블을 분해함으로써 해소할 수 있다는 점이 함께 출제된다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.

[해설]
프로세스는 준비(Ready) → 실행(Running) → 대기(Waiting/Blocked) 상태를 오가며 처리되므로 전이도의 빈칸에도 이 세 상태가 순서대로 들어간다.
준비 상태는 CPU 배정을 기다리는 상태, 실행 상태는 CPU를 할당받아 명령을 처리하는 상태, 대기 상태는 입출력 등의 이벤트 완료를 기다리는 상태를 가리키며, 실행 상태에서 시간 할당이 끝나면 다시 준비 상태로, 입출력 요청이 있으면 대기 상태로 전이된다.
대기 상태의 프로세스는 이벤트가 완료되면 곧바로 실행 상태가 아니라 준비 상태로 복귀해 다시 CPU 배정을 기다린다는 점이 자주 헷갈리는 부분이다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
모든 입력이 아니라 특정한 몇 개의 입력값에 대해서만 기대 결과를 제공하는 오라클이라 이 답이 된다.
테스트 오라클은 모든 입력값의 기대 결과를 제공하는 참(True) 오라클, 일부 입력값만 다루는 샘플링 오라클, 샘플링을 개선해 나머지 입력값은 추정으로 처리하는 휴리스틱(추정) 오라클, 반복 수행 결과가 서로 같은지 비교하는 일관성 검사 오라클로 나뉜다.
즉 샘플링 오라클은 검사 비용을 줄이기 위해 확인 범위를 표본으로 제한한 방식이라는 점이 다른 오라클과의 구분 포인트다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.

[해설]
유효한 값과 무효한 값의 범위를 나눠 각 그룹에서 대표값 하나씩만 선정해 검사하는 기법이라, -10점이나 110점 같은 무효 구간과 30~95점의 유효 구간을 나눠 테스트하는 이 사례에 해당한다.
제시된 값들이 경계값(0점, 100점 등)에 걸쳐 있지 않고 구간 내부에 골고루 분포돼 있다는 점에서, 경계 지점을 집중적으로 검사하는 경계값 분석 테스트와 구분된다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.

[해설]
학과별 튜플 수는 SELECT 절에 그룹 기준인 학과와 집계 함수를 함께 두고, GROUP BY 학과로 묶어 구한다. 즉 SELECT 학과, COUNT(학과) AS '학과별튜플수' FROM 학생 GROUP BY 학과 형태가 된다.
GROUP BY는 같은 학과 값을 가진 행끼리 하나의 그룹으로 묶고, COUNT는 각 그룹에 속한 튜플 수를 반환하므로 특정 행을 걸러내는 WHERE 절 없이도 학과별 집계가 가능하다.
채점 포인트는 GROUP BY로 학과를 그룹핑했는지, COUNT 등 집계 함수를 썼는지, 그리고 별칭을 작은따옴표로 감싼 '학과별튜플수' 형태로 표기했는지 세 가지이며, WHERE 절을 사용하지 않는다는 조건에 유의해야 한다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
데니스 리치와 켄 톰슨 등이 벨 연구소에서 개발한 이 운영체제는 유닉스(UNIX)이다.
90% 이상이 C언어로 작성되어 이식성이 뛰어나고, 시스템 프로그램이 모듈화되어 있어 다른 하드웨어 기종으로 옮기기 쉽다.
파일 시스템이 계층적 트리 구조를 가져 디렉터리 단위의 통합적인 파일 관리가 가능하다는 점이 채점 포인트다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.

[해설]
같은 문자열(KOREA)을 가리키는 포인터라도 서식 지정자와 연산 방식에 따라 해석이 달라지기 때문에 KOREA, EA, K, E, M 다섯 줄이 차례로 출력된다.
%s는 주어진 주소부터 널 문자를 만날 때까지를 문자열로 출력하므로 시작 주소에서는 KOREA가, 세 칸 뒤 주소에서는 EA가 출력된다. 반면 %c는 그 주소가 가리키는 문자 하나만 출력하므로 각각 K와 E가 된다.
마지막 줄은 주소가 아니라 문자 값에 정수를 더한 경우로, K의 아스키 코드 75에 2를 더하면 77이 되어 M이 출력된다. 포인터에 정수를 더하는 것(주소 이동)과 문자 값에 정수를 더하는 것(문자 코드 연산)의 차이가 이 문항의 핵심이다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
가용성(Availability)은 권한(인가)을 가진 사용자가 필요할 때 시스템·서비스·데이터를 지장 없이 지속적으로 사용할 수 있도록 보장하는 특성이다.
인가되지 않은 사용자에게 정보가 노출되지 않도록 하는 기밀성(Confidentiality), 인가되지 않은 변경으로부터 정보를 보호하는 무결성(Integrity)과 함께 정보보안 3요소(CIA Triad)를 구성한다.
서술형 답안에는 '권한을 가진 사용자'와 '원하는 서비스를 지속적으로 사용할 수 있도록 보장' 두 요소가 모두 드러나야 하며, 서비스 거부(DoS) 공격이나 시스템 장애가 직접 위협하는 요소가 가용성이라는 점이 다른 두 요소와의 구분 포인트다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
2020년 정보처리기사실기 4회차 시험지 PDF 다운로드·인쇄 →