2020년 정보처리기사실기 3회차 기출문제 정답·해설 페이지
[해설]
코드의 겉으로 드러나는 동작은 바꾸지 않으면서 내부 구조만 개선하는 것이 리팩토링의 목적이다.
복잡한 코드를 단순화하고 가독성을 높여 유지보수성을 향상시키며, 결과적으로 유연한 시스템을 만들어 생산성과 품질을 끌어올린다.
기능 추가가 아니라 구조 개선 자체가 목적이라는 점에서 일반적인 버그 수정이나 기능 개발과 구분된다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
다익스트라 알고리즘으로 최단 경로를 계산하는 링크 상태(Link State) 방식의 라우팅 프로토콜이므로 답은 OSPF(Open Shortest Path First)이다.
각 라우터가 네트워크 전체의 링크 상태 정보를 공유해 최단 경로 트리를 계산하기 때문에 홉 수 제한 없이 대규모 네트워크에 적합하다.
홉 카운트 기반에 최대 15홉 제한을 갖는 거리 벡터 방식의 RIP과 대비되는 지점이 이 문제의 핵심 구분점이며, 둘 다 자율 시스템 내부에서 쓰이는 내부 라우팅 프로토콜(IGP)이다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
형상관리 활동 중 변경 요청을 접수해 승인·통제하는 절차이므로 답은 형상통제(Configuration Control)이다.
형상식별로 정해진 형상 항목에 대해 변경이 발생할 때, 그 변경을 검토·승인하고 반영 여부를 통제해 버전 관리가 흐트러지지 않게 하는 활동을 가리킨다.
형상 항목의 상태를 기록하는 형상 기록(상태 보고), 이행 여부를 점검하는 형상 감사와는 역할이 구분된다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
메시지 전달과 정상 도착 확인, 재전송까지 규정한 통신 규약이므로 답은 프로토콜(Protocol)이다.
통신 개체 간에 데이터를 주고받기 위해 미리 정해 둔 형식과 절차의 집합으로, 서로 다른 시스템이라도 같은 규약을 따르면 통신이 가능해진다.
일반적으로 구문(Syntax), 의미(Semantics), 타이밍(Timing) 세 요소로 구성된다고 설명한다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
IP 통신 중 오류가 발생했음을 알리는 제어 메시지 프로토콜이므로 답은 ICMP(Internet Control Message Protocol)이다.
IP는 오류 통보 기능이 없기 때문에, 패킷 전달 실패나 목적지 도달 불가 등의 상황을 ICMP 메시지로 발신지에 알려준다.
네트워크 상태를 점검하는 ping 명령이 ICMP를 이용하는 대표적인 예다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.

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

[해설]
그룹별 집계값으로 조건을 걸어야 하므로 GROUP BY 과목이름으로 과목별 그룹을 만든 뒤 HAVING AVG(점수) >= 90으로 평균 조건을 검사하는 구조가 핵심이다.
WHERE 절은 그룹으로 묶기 전의 개별 행에만 조건을 걸 수 있어 AVG 같은 집계 함수를 쓸 수 없고, 그룹 단위 조건은 반드시 HAVING에서 처리해야 한다.
MIN, MAX 함수로 그룹별 최소·최대 점수를 구하고 각각 최소점수, 최대점수라는 별칭(AS)을 붙여 문제의 요구 조건을 맞춘다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.

[해설]
조건에 맞는 튜플을 삭제하는 DML 문이므로 DELETE FROM ... WHERE 구문을 사용한다.
WHERE 절에 이름 = '민수' 조건을 지정해야 해당 튜플만 삭제되며, WHERE를 생략하면 테이블의 모든 행이 삭제된다는 점을 주의해야 한다.
문자열 값은 작은따옴표로 감싸 조건을 작성하는 것이 SQL 표준 표기다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
릴레이션 B의 모든 튜플과 관련된 A의 속성만 남기는 연산이므로 답은 관계대수의 나누기(Division) 기호인 ÷이다.
A÷B는 B에 속한 모든 값과 짝을 이루는 A의 속성 조합만 결과로 남기고, 나머지는 제외한 뒤 프로젝션하는 방식으로 동작한다.
SQL에는 나누기에 대응하는 전용 연산자가 없어 보통 NOT IN, EXISTS 등을 조합한 서브쿼리로 구현한다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
식별자 이름 앞에 자료형을 나타내는 접두어를 붙여 변수의 타입을 이름만으로 알 수 있게 하는 명명 규칙이기 때문에 이 답이 된다.
예를 들어 정수형 변수는 iCount, 문자열은 strName처럼 자료형 약어를 접두사로 붙이는 방식이며, 마이크로소프트의 찰스 시모니가 제안한 표기법이다.
변수명만 보고도 타입을 유추할 수 있어 가독성에는 유리하지만, 코드 규모가 커지면 표기 규칙 준수 여부를 관리하기 번거롭다는 단점이 함께 채점 포인트로 언급된다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
내부 코드 구조가 아니라 입력과 출력, 요구사항 명세만을 기준으로 검사하는 기법이라 동치(동등)분할과 경계값 분석이 모두 이 범주에 속한다.
동치분할은 입력 데이터를 유효·무효 그룹으로 나눠 대표값만 테스트하고, 경계값 분석은 그 경계 지점을 집중적으로 검사하는 기법으로 둘 다 명세 기반 테스트의 대표 사례다.
반대로 코드 내부의 실행 경로나 조건을 근거로 검사하는 화이트박스 테스트와 구분된다는 점이 채점 포인트다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
스키마는 데이터의 구조와 제약조건, 관계를 정의한 틀이라는 점에서 데이터베이스의 골격에 해당하기 때문이다.
3단계 구조상 사용자 관점의 외부 스키마, 설계자 관점의 개념 스키마, 저장 장치 관점의 내부 스키마로 나뉘며, 실제 데이터값(인스턴스)과 달리 자주 변하지 않는 정적인 정의라는 점이 채점 포인트다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
사용자가 별도의 학습 없이도 쉽게 이해하고 사용할 수 있어야 한다는 원칙이라 답안의 서술과 일치한다.
UI 설계 원칙 중 직관성은 쉬운 검색, 쉬운 사용성, 일관성을 부특성으로 가지며, 오류를 최소화하는 유효성이나 다양한 상황에 대응하는 유연성과는 구분되는 개념이다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
EAI(Enterprise Application Integration)는 연결 구조에 따라 포인트 투 포인트, 허브 앤 스포크, 메시지 버스, 하이브리드 네 가지 유형으로 나뉘기 때문에 빈칸에는 나머지 두 유형이 들어간다.
①포인트 투 포인트는 애플리케이션끼리 1:1로 직접 연결하는 방식이라 구조는 단순하지만 시스템이 늘어날수록 연결선이 급격히 증가한다.
②허브 앤 스포크는 중앙 허브가 각 애플리케이션과의 연결을 중계하는 방식으로, 허브에 장애가 생기면 전체 통합이 중단될 수 있다는 점이 함께 출제된다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
객체가 생성되는 시점에 자동으로 호출되어 멤버 변수를 초기화하는 특수 멤버 함수이기 때문에 이 답이 된다.
클래스명과 동일한 이름을 가지며 반환형이 없다는 점, 매개변수 구성이 다른 여러 생성자를 오버로딩할 수 있다는 점이 소멸자(destructor)와 구분되는 채점 포인트다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
[해설]
기존 테이블에 새 속성(컬럼)을 추가할 때 쓰는 DDL 문법이 ALTER TABLE ~ ADD이기 때문에 이 답이 된다.
ALTER TABLE은 테이블 구조를 변경하는 명령이고, 그중 ADD는 컬럼 추가, DROP COLUMN은 컬럼 삭제, MODIFY(또는 ALTER COLUMN)는 자료형 변경에 쓰인다는 차이를 함께 기억해야 한다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
2020년 정보처리기사실기 3회차 시험지 PDF 다운로드·인쇄 →