2021년 정보처리기사실기 2회차 기출문제 정답·해설 페이지
[해설]
애드혹 네트워크(Ad-hoc Network)는 AP(무선 접속장치)나 라우터 같은 기반 네트워크 장치 없이 단말기들이 서로 직접 통신망을 구성하는 방식이기 때문에 정답이 된다.
각 노드가 호스트이면서 동시에 라우터 역할을 수행해 패킷을 중계하므로, 노드의 이동에 따라 네트워크 토폴로지가 동적으로 변한다.
고정 인프라를 세울 수 없는 재난·긴급 구조, 군사 전장, 임시 회의 환경에서 빠르게 통신망을 구축할 수 있어 이러한 응용 분야에 활용된다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
(1)은 사용자가 제품이나 서비스를 이용하며 느끼는 감정·만족감·경험 전반을 뜻하는 UX(User Experience), (2)는 사용자와 시스템이 상호작용하는 매개체를 뜻하는 UI(User Interface)이다.
UI는 화면 구성뿐 아니라 명령어로 조작하는 CLI(Command Line Interface)나 그래픽 기반의 GUI처럼 사용자가 시스템에 접근하는 통로 자체를 가리킨다.
UX는 그 UI를 포함해 서비스 이용 전 과정에서 사용자가 겪는 감정·인식까지 포괄한다는 점에서 UI보다 넓은 개념으로 구분된다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
원자성(Atomicity)은 트랜잭션에 포함된 연산들이 전부 반영되거나 전혀 반영되지 않아야 한다는 성질이므로, 일부만 실행된 상태로 종료되는 것을 허용하지 않는다는 점이 서술의 핵심이다.
트랜잭션 도중 오류가 발생하면 이미 수행된 연산까지 롤백(Rollback)하여 트랜잭션 시작 이전 상태로 되돌리고, 모든 연산이 성공해야 커밋(Commit)으로 확정한다.
ACID 중 원자성은 트랜잭션을 더 이상 쪼갤 수 없는 하나의 작업 단위로 취급한다는 의미이며, 일관성(Consistency)이나 격리성(Isolation)과 혼동하지 않도록 유의해야 한다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
부분 함수적 종속을 제거해 완전 함수적 종속만 남기는 정규형은 제2정규형(2NF)이므로 정답이 된다.
제2정규형이 성립하려면 먼저 제1정규형(모든 속성이 원자값)을 만족한 상태에서, 기본키가 여러 속성으로 이루어진 복합키일 때 그 일부 속성에만 종속되는 속성(부분 함수적 종속)이 없어야 한다.
즉 기본키 전체에 종속되는 완전 함수적 종속 관계만 남도록 테이블을 분해하는 것이 제2정규형의 핵심 채점 포인트다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
테이블의 기존 행을 수정하는 SQL 문법은 UPDATE 테이블명 SET 컬럼 = 값 형태이므로 (1)은 UPDATE, (2)는 SET이다.
UPDATE는 수정 대상 테이블을 지정하고, SET 절은 어떤 컬럼을 어떤 값으로 바꿀지 명시하며, 뒤에 붙은 WHERE 점수 >= 90은 수정 대상을 점수가 90 이상인 행으로 한정한다. WHERE 절을 생략하면 테이블의 모든 행이 수정된다는 점도 함께 기억해 둘 부분이다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
SQL의 조인은 JOIN 테이블 ON 조인조건 형태로 작성하므로 (1)은 ON이며, 조건절인 a.학과 = b.( 2 )는 두 테이블에서 같은 의미의 컬럼끼리 비교해야 하므로 (2)는 학과가 된다.
ON 절은 WHERE와 달리 조인 시점에 두 테이블을 결합하는 기준을 지정하는 절로, 조인 조건과 이후의 추가 필터 조건(WHERE)을 구분해서 이해하는 것이 채점 포인트다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
DES를 대체하기 위해 NIST가 채택한 대칭키 암호화 표준은 AES(Advanced Encryption Standard)이며, Rijndael 알고리즘을 기반으로 한다.
AES는 128비트 고정 블록 크기를 사용하고 키 길이에 따라 128/192/256비트 세 가지 방식을 지원하는데, 이 수치들이 채점 시 확인되는 핵심 키워드다.
대칭키 방식이므로 암호화와 복호화에 동일한 키를 사용한다는 점에서 공개키(비대칭키) 방식인 RSA 등과 구분된다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
화이트박스 테스트의 커버리지 기준은 검증 강도가 낮은 것부터 문장 커버리지(1), 결정(분기) 커버리지(2), 조건 커버리지(3) 순으로 이어지므로 각 설명에 이 세 가지가 대응된다.
①문장 커버리지는 프로그램의 모든 문장을 최소 한 번 이상 실행하는지만 확인하는 가장 기본적인 기준이다.
②결정 커버리지는 각 분기(if, while 등)의 판단 결과가 참/거짓을 모두 거치는지 검증하는 반면, ③조건 커버리지는 전체 조건식의 참/거짓 결과와 무관하게 개별 조건식 각각이 참/거짓을 모두 갖는지만 확인한다는 점에서 구분된다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
'이'로 시작하는 문자열을 찾을 때는 와일드카드 %를 뒤에 붙인 '이%' 패턴을 LIKE에 사용하고, 내림차순 정렬은 정렬 기준 컬럼 뒤에 DESC를 붙이므로 (1)은 '이%', (2)는 이름 DESC이다.
LIKE에서 %는 임의 길이의 문자열을 의미하는 와일드카드로, '이%'는 '이'로 시작하고 뒤에 어떤 문자가 오든 매치되며, ORDER BY 절에서 정렬 방식을 생략하면 기본 정렬은 오름차순(ASC)이라는 점도 함께 알아두어야 한다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
①은 입출력 간 관련성 없이 순서대로만 실행되는 절차적 응집도, ②는 같은 입력·출력 자료를 사용한다는 공통점만 있는 교환적(통신적) 응집도, ③은 하나의 기능 수행에 모든 요소가 밀접히 관련된 기능적 응집도이다.
응집도는 기능적 > 순차적 > 교환적 > 절차적 > 시간적 > 논리적 > 우연적 순으로 강도가 낮아지며, 기능적 응집도가 가장 바람직한 모듈 설계로 평가된다는 점이 채점 포인트다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
①은 통신 전에 논리적 경로를 미리 설정하고 그 경로로만 전송하는 연결형 방식인 가상 회선(Virtual Circuit) 방식, ②는 패킷마다 헤더에 목적지 정보를 담아 개별적으로 전달하는 비연결형 방식인 데이터그램(Datagram) 방식이다.
가상 회선 방식은 패킷이 항상 같은 경로로 전송되어 순서가 보장되는 반면, 데이터그램 방식은 패킷마다 다른 경로를 거칠 수 있어 수신 측에서 순서가 뒤바뀔 수 있다는 차이가 있다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
객체들 사이에 반복적으로 나타나는 상호작용과 책임 분배 방식을 패턴화한 것은 행위(Behavioral) 패턴이므로 정답이 된다.
GoF 디자인 패턴은 목적에 따라 생성(Creational), 구조(Structural), 행위(Behavioral) 패턴으로 분류되는데, 이 중 행위 패턴은 객체 자체의 생성이나 구조가 아니라 객체 간 메시지 교환과 알고리즘 흐름에 초점을 둔다.
Observer, Command, Interpreter 외에도 Strategy, State, Template Method 등이 행위 패턴에 속한다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
데이터에 대한 연산이 끝날 때까지 다른 트랜잭션의 접근을 막는 병행제어 기법은 로킹(Locking)이다.
트랜잭션이 접근하는 데이터 항목에 락(Lock)을 걸어 상호배제(Mutual Exclusion)를 실현하며, 락이 걸린 동안 다른 트랜잭션은 해당 데이터에 접근할 수 없고 연산이 모두 끝나 락이 해제되어야 접근이 가능해진다.
락의 종류로는 읽기만 허용하는 공유(Shared) 락과 읽기·쓰기를 모두 독점하는 배타(Exclusive) 락이 있다는 점도 함께 정리해 둘 만하다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
①입력이 출력으로 변환되는 과정(DFD)은 Function Modeling(기능 모델링), ②시간에 따른 상태 변화(상태 다이어그램)는 Dynamic Modeling(동적 모델링), ③객체 간 관계 정의(ERD)는 Object Modeling(객체 모델링)이다.
럼바우(Rumbaugh)의 OMT 기법은 이 세 모델링을 함께 사용해 시스템을 분석하는데, 객체 모델링이 시스템의 정적 구조를, 동적 모델링이 상태 변화 흐름을, 기능 모델링이 데이터 처리 과정을 각각 표현한다는 역할 차이로 구분하면 헷갈리지 않는다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.

[해설]
static 키워드가 붙은 멤버는 인스턴스가 아닌 클래스 자체에 속하는 멤버이기 때문에, 객체를 생성하지 않고도 클래스명으로 바로 호출할 수 있다.
일반 메소드는 객체가 생성되어야 메모리에 할당되어 호출 가능하지만, static 메소드(클래스 메소드)는 클래스가 로드되는 시점에 메모리에 올라가 프로그램 전체에서 공유된다.
이 때문에 static 메소드 내부에서는 인스턴스 변수나 non-static 메소드를 직접 참조할 수 없다는 제약도 함께 알아두면 좋다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
하향식(Top-Down) 통합테스트에서 아직 구현되지 않은 하위 모듈을 대신하는 테스트용 모듈은 스텁(Stub)이다.
스텁은 상위 모듈에서 호출은 되지만 실제 로직이 없는 하위 모듈 자리를 임시로 채워 넣어 상위 모듈부터 먼저 테스트할 수 있게 해준다.
반대로 상향식(Bottom-Up) 테스트에서 상위 모듈 역할을 대신하는 것은 드라이버(Driver)이므로, 스텁과 드라이버를 방향에 맞게 짝지어 구분하는 것이 채점 포인트다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
2021년 정보처리기사실기 2회차 시험지 PDF 다운로드·인쇄 →