📝 기출문제 전체 보기
정보처리기사 실기 2023년 3회차 기출 복원입니다. 각 문제 아래의 「정답·해설 보기」를 펼치면 정답과 해설이 나타나요. 실전 시험 환경(타이머·자동 채점·오답 누적)에서 풀어보고 싶다면 글 맨 아래 「직접 풀러가기」를 눌러주세요.
문제 1
단답형다음은 Java 코드이다. 올바른 출력 결과를 작성하시오.
정답·해설 보기▾
모범답안
BDCDD
키워드: BDCDD
해설
참조 변수는 A 타입이지만 실제 객체는 B 이므로 오버라이딩된 메서드는 동적 바인딩으로 B 의 것이 호출된다. b.paint() 는 B.paint() 를 실행한다. super.draw() 는 A.draw() 를 호출해 "B" 출력 후 draw() 를 다시 호출하는데, 이때 draw() 는 동적 바인딩으로 B.draw() 가 실행되어 "D" 가 출력된다(무한 재귀가 아님). 이어 "C" 출력, this.draw() 로 B.draw() 가 실행되어 "D" 가 출력된다. 그 다음 b.draw() 는 B.draw() 로 "D" 를 출력하므로 최종 결과는 BDCDD 이다.
문제 2
단답형다음 설명하는 용어를 보기에 맞게 골라 기호를 작성하시오.
- 사용자가 사용자 이름 및 암호와 같은 자격 증명을 공유하지 않고도 타사 애플리케이션이 데이터 또는 리소스에 액세스할 수 있도록 권한을 부여할 수 있는 개방형 표준 프로토콜이다.
- 사용자가 데이터에 대한 제어를 유지하면서 리소스에 대한 액세스 권한을 부여할 수 있는 안전하고 표준화된 방법을 제공하며, 액세스 토큰을 사용하여 타사 애플리케이션에 리소스에 대한 액세스 권한을 부여하는 메커니즘을 사용자에게 제공하는 방식으로 작동한다.
- 사용자가 응용 프로그램에 대한 액세스 권한을 부여하면 응용 프로그램은 사용자를 대신하여 사용자의 리소스 또는 데이터에 액세스하는 데 사용할 수 있는 액세스 토큰을 받는다.
- 암호와 같은 사용자의 자격 증명은 타사 응용 프로그램과 공유되지 않으며, 클라우드 스토리지 서비스, 온라인 마켓 플레이스 및 금융 서비스를 포함한 다른 많은 응용 프로그램 및 서비스에서도 사용된다.
- Facebook, Twitter 및 LinkedIn과 같은 소셜 미디어 플랫폼에서 널리 사용되어 사용자가 소셜 미디어 데이터에 대한 액세스 권한을 타사 애플리케이션에 부여할 수 있도록 한다.
- 타사 애플리케이션에 대한 사용자 자격 증명의 노출을 최소화하여 향상된 보안, 간소화된 애플리케이션 개발, 사용자가 리소스에 대한 액세스 권한을 쉽게 부여하거나 취소할 수 있도록 하여 향상된 사용자 환경 등 여러 가지 이점을 제공한다.
[보기] ㄱ.NFT ㄴ.JWT ㄷ.SAML ㄹ.accessToken ㅁ.SSO ㅂ.OIDC ㅅ.Authentication ㅇ.OAuth ㅈ.Cookie ㅊ.Refresh Token
정답·해설 보기▾
모범답안
ㅇ (OAuth)
키워드: ㅇ, OAuth, ㅇ OAuth
해설
자격 증명(아이디/비밀번호)을 타사와 공유하지 않고 액세스 토큰을 발급하여 제3자 애플리케이션에 리소스 접근 권한을 위임하는 개방형 표준 프로토콜은 OAuth 이다. 소셜 로그인에 널리 쓰인다.
문제 3
단답형리눅스(Linux)에서 사용자에게 읽기/쓰기/실행 권한을 부여하고, 그룹에게는 읽기/실행을 부여하고, 그 이외에는 실행 권한을 test.txt 파일에 부여하기 위한 명령어는 다음과 같다. 빈칸에 들어갈 답을 작성하시오. (8진법 사용)
( (1) ) ( (2) ) test.txt
정답·해설 보기▾
모범답안
(1) chmod (2) 751
키워드: chmod 751, (1) chmod (2) 751
해설
권한 변경 명령어는 chmod 이다. 8진수 권한은 읽기4·쓰기2·실행1 의 합이다. 사용자(rwx)=4+2+1=7, 그룹(r-x)=4+1=5, 기타(--x)=1 이므로 751 이 된다.
문제 4
단답형다음은 C 언어 코드이다. 알맞는 출력 결과를 작성하시오.
정답·해설 보기▾
모범답안
34
키워드: 34
해설
test(n) 은 n 의 진약수(자기 자신 제외) 합이 n 과 같은지(완전수) 판별한다. 2~100 사이의 완전수는 6 과 28 이다. main 은 완전수들을 모두 더하므로 6 + 28 = 34 가 출력된다.
문제 5
단답형C언어에서 구조체의 멤버에 접근하기 위해 괄호 안의 기호를 작성하시오.
[출력결과] 10 10
정답·해설 보기▾
모범답안
->
키워드: ->, 화살표 연산자
해설
d2 는 구조체 포인터이므로 멤버에 접근할 때는 화살표 연산자 -> 를 사용한다. 즉 d2->numPtr 형태가 된다. 포인터가 아닌 구조체 변수 d1 은 점(.) 연산자를 쓴다.
문제 6
단답형다음 빈칸에 들어갈 UNION 연산의 결과값을 작성하시오.
[테이블]
[T1]
A 3 1 4 [T2]
A 2 4 3 [결과 테이블]
정답·해설 보기▾
모범답안
A 4 3 2 1
키워드: A 4 3 2 1, 4 3 2 1, 4, 3, 2, 1
해설
UNION 은 두 결과를 합치면서 중복을 제거한다. T1={3,1,4}, T2={2,4,3} 의 합집합은 {1,2,3,4} 이고, ORDER BY A DESC 로 내림차순 정렬하면 4, 3, 2, 1 이 된다.
문제 7
단답형다음 설명은 서버 접근 통제의 유형이다. 괄호 안에 들어갈 용어를 작성하시오. (영어 약자로 작성하시오.)
- ( (1) )은/는 규칙 기반(Rule-Based) 접근통제 정책으로, 객체에 포함된 정보의 허용 등급과 접근 정보에 대하여 주체가 갖는 접근 허가 권한에 근거하여 객체에 대한 접근을 제한하는 방법이다.
- ( (2) )은/는 중앙 관리자가 사용자와 시스템의 상호관계를 통제하며 조직 내 맡은 역할(Role)에 기초하여 자원에 대한 접근을 제한하는 방법이다.
- ( (3) )은/는 신분 기반(Identity-Based) 접근통제 정책으로, 주체나 그룹의 신분에 근거하여 객체에 대한 접근을 제한하는 방법이다.
정답·해설 보기▾
모범답안
(1) MAC (2) RBAC (3) DAC
키워드: MAC RBAC DAC, (1) MAC (2) RBAC (3) DAC
해설
규칙/등급 기반은 강제적 접근통제 MAC(Mandatory Access Control), 역할(Role) 기반은 RBAC(Role-Based Access Control), 신분 기반은 임의적 접근통제 DAC(Discretionary Access Control) 이다.
문제 8
단답형다음 C언어 코드에 알맞는 출력값을 작성하시오.
정답·해설 보기▾
모범답안
5040
키워드: 5040
해설
f(n) 은 재귀로 n! 을 계산한다. f(7) = 7×6×5×4×3×2×1 = 5040 이 출력된다.
문제 9
단답형다음 설명에 대해 괄호 안에 알맞는 용어를 작성하시오. (영어 약자로 작성하시오.)
- ( )은/는 자료를 일정한 크기로 정하여 순서대로 전송하는 자료의 전송 방식이다.
- 셀이라 부르는 고정 길이 패킷을 이용하여 처리가 단순하고 고속망에 적합하며, 연속적으로 셀을 보낼 때 다중화를 하지 않고 셀단위로 동기가 이루어지지만 경우에 따라 동기식 시간 분할 다중화를 사용하기도 한다.
- 가상 채널(Virtual Channel) 기반의 연결 지향 서비스로 셀이라 부르는 고정 길이(53바이트) 패킷을 사용하며 통계적 다중화 방식을 이용한다.
정답·해설 보기▾
모범답안
ATM
키워드: ATM, Asynchronous Transfer Mode
해설
53바이트 고정 길이의 셀(Cell)을 사용하고 가상 채널 기반의 연결 지향 서비스를 제공하며 통계적 다중화를 쓰는 고속 전송 방식은 ATM(Asynchronous Transfer Mode, 비동기 전송 모드)이다.
문제 10
단답형다음은 C언어의 포인터 문제이다. 알맞는 출력값을 작성하시오.
정답·해설 보기▾
모범답안
KOREA OREA K E O
키워드: KOREA OREA K E O, KOREA OREA K E O
해설
p 는 "KOREA" 를 가리킨다. %s 로 p 는 "KOREA", p+1 은 "OREA" 를 출력한다. *p 는 첫 문자 'K' 이고, *(p+3) 은 인덱스 3 의 'E' 이다. *p+4 는 'K'(아스키 75)에 4 를 더한 79 이므로 문자로 출력하면 'O' 이다. 따라서 KOREA / OREA / K / E / O 가 출력된다.
문제 11
단답형다음은 Java 코드에 대한 알맞는 출력값을 작성하시오.
정답·해설 보기▾
모범답안
2
키워드: 2
해설
obj 의 실제 객체는 Child 이므로 동적 바인딩으로 Child.compute 가 호출되고, 재귀 호출 compute(num-1)+compute(num-3) 도 모두 Child 의 것이 실행된다. Child.compute 는 num <= 1 이면 num 을 그대로 반환하므로 compute(-1) 은 -1 이다. 이를 기준으로 계산하면 compute(2)=compute(1)+compute(-1)=0, compute(3)=compute(2)+compute(0)=0, compute(4)=compute(3)+compute(1)=1, compute(5)=compute(4)+compute(2)=1, compute(6)=compute(5)+compute(3)=1, compute(7)=compute(6)+compute(4)=2 이다.
문제 12
단답형IP 패킷에서 내부의 사설 IP 주소를 외부의 공인 IP 주소로 재기록하여 라우터를 통해 네트워크 트래픽을 주고받는 기술은 무엇인가?
정답·해설 보기▾
모범답안
NAT(Network Address Translation)
키워드: NAT, Network Address Translation, 네트워크 주소 변환
해설
사설(내부) IP 주소와 공인(외부) IP 주소를 서로 변환하여 매핑하는 기술은 NAT(Network Address Translation, 네트워크 주소 변환)이다. 포트 번호까지 함께 변환하는 방식은 NAPT 또는 PAT 로 구분할 수 있으므로, NAT 를 묻는 문항에서는 IP 주소 변환 중심으로 표현하는 것이 명확하다.
문제 13
단답형다음 자바 코드를 실행할 경우 에러가 발생이 된다. 에러가 발생하는 라인명(줄 번호)을 작성하시오.
정답·해설 보기▾
모범답안
7
키워드: 7, 7번, 7라인
해설
static 메서드 get() 안에서 인스턴스 필드 name 을 직접 참조하고 있다. static 메서드는 특정 인스턴스에 속하지 않으므로 인스턴스 변수에 직접 접근할 수 없어 7번 라인(return name;)에서 컴파일 에러가 발생한다.
문제 14
단답형다음은 파이썬에 대한 문제이다. 밑줄친 부분에 알맞는 답을 작성하시오.
[특이사항] 입력값은 2와 3이다.
[출력화면] 파이썬 입출력에 대한 문제입니다. 2 3 2 + 3 = 5
정답·해설 보기▾
모범답안
split
키워드: split, split()
해설
input() 으로 받은 "2 3" 한 줄을 공백 기준으로 두 값으로 나누어 num1, num2 에 분리 대입하려면 문자열 메서드 split() 을 사용한다. 따라서 input().split() 이 된다. 이후 num1 과 num2 를 int 로 변환했기 때문에 문자열과 연결해 출력하려면 str(num1), str(num2), str(num3) 처럼 다시 문자열로 변환해야 한다.
문제 15
단답형다음은 판매와 관련된 다이어그램이다. 해당 다이어그램의 명칭을 쓰시오.
정답·해설 보기▾
모범답안
패키지 다이어그램
키워드: 패키지, 패키지 다이어그램, Package Diagram
해설
폴더 모양(탭이 달린 사각형)으로 표현되는 ordering, pricing, products 와 이들 사이의 의존(점선 화살표) 및 «import» 스테레오타입은 UML 패키지 다이어그램의 표기법이다. 따라서 패키지 다이어그램이다.
문제 16
단답형다음 설명에 알맞는 답을 보기에서 골라 작성하시오.
- 시스템이나 시스템 구성요소(component) 또는 소프트웨어 프로그램의 입력값과 출력값이 특정 그룹으로 분류되며, 분류된 그룹내의 값들이 시스템에 의해 동일하게 취급된다는 특성을 이용하여 시험하는 기법
- 유사한 입력값들이 시스템을 거치면서 유사한 답변이 나온다는 것을 가정하여 테스트
- 하나의 값은 그 분할 내 모든 값을 대표하는 것으로 간주하는 기법
- 모든 입력값을 시험할 필요가 없게 하여 시험을 효율적으로 수행하도록 지원
- 일반적으로 경계값 분석기법(boundary value analysis)과 함께 테스트 케이스 도출하는데 사용
[보기] ㄱ.Equivalence Partitioning ㄴ.Statement Coverage ㄷ.Boundary Value Analysis ㄹ.Branch Coverage ㅁ.Error Guessing ㅂ.Condition Coverage ㅅ.Cause Effect Graph
정답·해설 보기▾
모범답안
ㄱ (Equivalence Partitioning)
키워드: ㄱ, Equivalence Partitioning, 동등 분할, 동치 분할
해설
입력값을 동일하게 취급되는 그룹(동치 클래스)으로 나누고 각 그룹의 대표값 하나로 시험하는 블랙박스 기법은 동등(동치) 분할(Equivalence Partitioning)이다. 경계값 분석과 함께 자주 사용된다.
문제 17
단답형다음은 클라우드에 대한 유형 문제이다. 아래 표에서 각 열(1)(2)(3) 중 클라우드 제공자가 직접 관리(서비스로 제공)하는 계층을 음영으로 표시한 것이다. 괄호 안에 알맞는 답을 보기에서 골라 작성하시오.
(O = 클라우드 제공자가 관리, 공백 = 사용자가 관리)
계층 전통적인 IT (1) (2) (3) 애플리케이션 O 데이터 O 런타임 O O 미들웨어 O O 운영체제 O O 가상화 O O O 서버 O O O 스토리지 O O O 네트워크 O O O [보기] PaaS SaaS IaaS
정답·해설 보기▾
모범답안
(1) IaaS (2) PaaS (3) SaaS
키워드: IaaS PaaS SaaS, (1) IaaS (2) PaaS (3) SaaS
해설
제공자가 가상화·서버·스토리지·네트워크(하위 인프라)만 관리하는 (1)은 IaaS, 여기에 운영체제·미들웨어·런타임까지 제공하는 (2)는 PaaS, 애플리케이션·데이터까지 전 계층을 제공하는 (3)은 SaaS 이다.
문제 18
단답형다음은 프로토콜 종류에 관한 설명이다. 알맞는 답을 작성하시오.
- 최소 Hop count를 파악하여 라우팅하는 프로토콜이다.
- 거리와 방향으로 길을 찾아가는 Distance Vector 다이나믹 프로토콜이다.
- 최단거리 즉, Hop count가 적은 경로를 택하여 라우팅하는 프로토콜로 Routing Table에 인접 라우터 정보를 저장하여 경로를 결정한다.
- 최대 Hop count는 15로 거리가 짧기 때문에 IGP로 많이 이용하는 프로토콜이다.
정답·해설 보기▾
모범답안
RIP
키워드: RIP, Routing Information Protocol
해설
거리 벡터(Distance Vector) 방식으로 홉 카운트를 기준으로 경로를 결정하고 최대 홉이 15 로 제한되는 내부 게이트웨이 프로토콜은 RIP(Routing Information Protocol)이다.
문제 19
단답형다음은 관계 대수에 대한 내용이다. 보기에 알맞는 기호를 작성하시오.
- join : ( 1 )
- project : ( 2 )
- select : ( 3 )
- division : ( 4 )
[보기] ㄱ. σ ㄴ. π ㄷ. ⋈ ㄹ. ÷
정답·해설 보기▾
모범답안
(1) ㄷ (⋈) (2) ㄴ (π) (3) ㄱ (σ) (4) ㄹ (÷)
키워드: ㄷ ㄴ ㄱ ㄹ, ㄷㄴㄱㄹ, ⋈ π σ ÷, join ⋈ project π select σ division ÷
해설
관계 대수 기호는 select=σ(시그마), project=π(파이), join=⋈(보타이), division=÷ 이다. 따라서 join=ㄷ(⋈), project=ㄴ(π), select=ㄱ(σ), division=ㄹ(÷) 이다.
문제 20
단답형다음은 데이터베이스에 관련된 문제이다. 괄호 안에 알맞는 답을 작성하시오.
- ( ) 무결성은 관계 데이터베이스 관계 모델에서 2개의 관련 있던 관계 변수(테이블) 간의 일관성(데이터 무결성)을 말한다.
- 종종 기본 키 또는 키가 아닌 후보 키와 외래 키의 조합으로 강제 적용된다.
- 외래 키가 선언된 관계 변수의 외래 키를 구성하는 속성(열)의 값은 그 관계 변수의 부모가 되는 관계 변수의 기본 키 값 또는 기본 키가 아닌 후보 키 값으로 존재해야 한다.
정답·해설 보기▾
모범답안
참조
키워드: 참조, 참조 무결성, Referential Integrity
해설
외래 키 값이 반드시 참조하는 부모 테이블의 기본 키(또는 후보 키) 값으로 존재해야 한다는 두 테이블 간 일관성 제약은 참조 무결성(Referential Integrity)이다.