untagged

정보처리기사 실기) 2021년 3회 기출문제 및 해설

summerorange 2022. 5. 3. 13:01
반응형

총 20문제

 

1. 아래의 Java 코드에서 출력값은?

class Singleton {
	private static Singleton instance = null;
	private int count = 0;

	static public Singleton getInstance() {
		if(instance == null) {
			instance = new Singleton();
			return instance;
		}
		return instance;
	}

	public void count() { count++; }
	public int getCount() { return count; }
}

public class Gisafirst {
    public static void main(String[] args) {
    	Singleton sg1 = Singleton.getInstance();
    	sg1.count();

    	Singleton sg2 = Singleton.getInstance();
    	sg2.count();
    	
    	Singleton sg3 = Singleton.getInstance();
    	sg3.count();
        
    	System.out.print(sg1.getCount());
    }
}

정답

더보기

3

 

싱클톤 객체를 생성해서 인스턴스 값과 count 값을 리턴하는 방식. 객체를 생성해서 sg1, sg2, sg3 getCount를 하는 방식인데 sg1 객체를 생성하면 인스턴스 값은 비어있는 값이 아니라서 지속적으로 count가 업데이트 됨.

 

2. 다음 괄호 안에 들어갈 알맞은 답은?

(     ) 스푸핑은 근거리 통신망 하에서 (      ) 메시지를 이용하여 상대방의 데이터 패킷을 중간에서 가로채는 중간자 공격 기법. 이 공격은 데이터 링크 상의 프로토콜인 (       )를 이용하기 때문에 근거리 상의 통신에서만 사용할 수 있는 공격이다.

정답

더보기

ARP(Address Resolution Protocol)

 

(ref)

ARP(Address Resolution Protocol) : IP 주소를 물리적 네트워크 주소로 대응

RARP(Reverse Address Resolution Protocol) : MAC 주소에 해당하는 IP 주소를 알려주는 프로토콜

 

3. 데이터 제어어(Data Control Language; DCL) 중 GRANT를 서술

정답

더보기

데이터베이스 사용자에게 작업에 대한 권한을 부여한다

 

4. 정보 보호 기술인 AAA에 대해서 각 설명에 맞는 용어는? (부분 점수 있음)

(1) 시스템을 접근하기 전에 접근 시도하는 사용자의 신원을 검증함
(2) 검증된 사용자에게 어떤 수준의 권한과 서비스를 허용함
(3) 사용자의 자원(시간, 정보, 위치) 에 대한 사용 정보를 수집함
더보기

(1) Authentication

(2) Authorization

(3) Accounting

 

 

5.

디자인 패턴 종류 중 (      ) 패턴은 상위 클래스에서 인터페이스만 정의하고 실제 생성은 서브 클래스가 담당한다

부모(상위) 클래스에 알려지지 않은 구체 클래스를 생성하는 패턴이며, 자식(하위) 클래스가 어떤 객체를 생성할지를 결정하도록 하는 패턴이기도 하다. 부모(상위) 클래스 코드에 구체 클래스 이름을 감추기 위한 방법으로도 사용한다.
더보기

Factory Method

 

관련

GoF 디자인 패턴: 4명의 컴퓨터 공학자에 의해 정리된 소프트웨어 디자인 패턴

생성 - factory, abstract

구조 - adaptor, bridge, composite, decorator, 

행위 - interpreter, command, mediator

 

 

6. 결합도(Coupling) 종류 중 어떻게 처리를 해야 한다라고 하는 제어 요소가 전달되는 결합도 종류는?

어떤 모듈이 다른 모듈의 내부 논리 조직을 제어하기 위한 목적으로 제어 신호를 이용하여 통신하는 경우의 결합도이다. 하위 모듈에서 상위 모듈로 제어 신호가 이동하여 상위 모듈에게 처리 명령을 부여하는 권리 전도 현상이 발생할 수 있다.
더보기

Control

 

모듈 간의 결합도는 줄이고, 응집도는 높은 공통 모듈을 권장하고 있다. 

결합도는 외부 모듈과의 연관도 또는 상호의존성으로 낮을 수록 좋음

응집도는 모듈의 독립성을 나타내는 개념, 높을 수록 좋음

자스제외공내 (결합도가 약한 것부터 강한 것의 순서 대로) 

자료 결합도, 스탬프 결합도, 제어 결합도, 공통 결합도, 내용 결합도

자료가 좋음... call by value. 파라미터를 통해서만 상호작용

스탬프: 배열, 오브젝트, structure 로 전달

제어: 제어!! 란 단어가 나옴

외부: 반환 값을 다른 모듈에서 참조

공통: 전역 변수 갱신

내용: 다른 모듈 내부의 변수나 기능을 다른 모듈에서 사용

 

응집도

우논시절교순기. (낮은 것부터 높은 순)

우연적 논리적 시간적 절차적 교환적 순차적 기능적

 

7. 다음 C 언어의 실행결과는?

#include

struct src {
    char name[12];
    int os, db, hab, hhab;
};
 
int main() {
    struct src st[3] = {{"가", 95, 88}, {"나", 84, 91}, {"다", 86, 75}};
    struct src* p;
	
    p = &st[0];
	
    (p+1)->hab = (p+1)->os + (p+2)->db;
    (p+1)->hhab = (p+1)->hab + p->os + p->db;
	
    printf("%d", (p+1)->hab + (p+1)->hhab);
}
더보기

501

 

&st[0] 배열의 시작점을 p로 놓고

(p+1)->hab  , os(p+1) 84, db(p+2) 75

p[1].hab = 84 + 75 = 159

(p+1)->hhab = 159 + 95 + 88 = 342

159 + 342 = 501

 

 가 / os[0] = 95 / db[0] = 88

나 / os[1] = 84 / db [1] = 91

다 / os[2] = 81 / db[2] = 75

p[1].hab = p[1].os + p[2].db

p[1].hhab = p[1].hab + p[0].os + p[0].db

 

8. 하위 모듈부터 시작하는 (  1  ) 테스트로, 하위 모듈들을 포괄하는 (   2  ) 이 있다. (부분점수)

( 1 ) 방식은 하위 모듈부터 시작하여 상위 모듈로 테스트를 진행하는 방식이며, 이 방식을 사용하기 위해서는 ( 2 )가 필요하다.
더보기

1. 상향식 통합

2. 테스트 드라이버

 

9. 다음의 파이썬 코드의 실행 결과는? (대문자인지 소문자인지는 상관 없을 듯??)

x, y = 100, 200

print(x==y)
더보기

False 

 

음.. 이건 풀이가 굳이...

 

10. 테이블에서 해당 조건값을 실행한 화면이다. 이에 대해 알맞은 결과값은?

A

Code Name
1111 smith
2222 allen
3333 scott

B

NO RULE
12 s%
32 %t%
SELECT COUNT(*) CNT FROM A CROSS JOIN B WHERE A.NAME LIKE B.RULE;

정답:

더보기

4

 

smith, scott, smith, scott 중복되어서 출력됨.

 

11. 데이터 접근 방식, <값, 주소> 자료구조, 파일 구조에는 순차, (      ), 해싱 이 있다.

파일구조는 파일을 구성하는 레코드들이 보조기억장치에 편성되는 방식으로 접근 방식에 따라 방식이 달라진다. 접근 방법 중, 레코드들을 키-값 순으로 정렬하여 기록하고, 레코드의 키 항목만을 모은 (    )을 구성하여 편성하는 방식이 있으며, 레코드를 참조할 때는 (     ) 이 가르키는 주소를 사용하여 직접 참조할 수 있다. 파일 구조에는 순차 접근, (    ) 접근, 해싱 접근이 있다
더보기

인덱스(Index)

 

12. 테스트 케이스 (부분 점수)

식별자 ID 테스터 항목 ( 1 ) (2) (3)
DD-11S-21 로그인 사용자 초기 화면 사용자 아이디(Test1)
비밀번호(111111)
로그인 성공
DD-12S-25 로그인 사용자 초기 화면 사용자 아이디('')
비밀번호("")
로그인 실패
더보기

(1) 테스트 조건,

(2) 테스트 데이터,

(3) 예상 결과

 

13. UML 종류 중 (       ) 다이어그램은 속성, 메소드를 포함하는 다이어그램이다.

이 다이어그램은 문제 해결을 위한 도메인 구조를 나타내어 보이지 않는 도메인 안의 개념과 같은 추상적인 개념을 기술하기 위해 나타낸 것이다. 또한 소프트웨어의 설계 혹은 완성된 소프트웨어의 구현 설명을 목적으로 사용할 수 있다. 이 다이어그램은 속성(attribute)과 메서드(method)를 포함한다.
더보기

클래스(Class)

 

UML 다이어그램 종류

1. 구조 다이어그램

클래스(객체지향 설계시 가장 대중적으로 쓰이는 다이어그램 중 하나), 객체, 복합체 구조, 배치, 컴포넌트, 패키지 ( 다이어그램)

2.행위 다이어그램

활동, 상태 머신, 유스케이스, 시퀀스,

 

14. OSI 7 계층

(1) 물리적으로 연결된 두 개의 노드 사이의 데이터 전송. 물리계층을 통해 송수신 되는 정보의 오류와 흐름을 관리하여 ~
(2) 경로 제어, 패킷 전달 / 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 ~
(3) 압축 / 수신자에서 데이터의 압축을 풀 수 있는 방식으로 ~

정답

더보기

(1) 데이터 링크, (Data Link) Layer

(2) 네트워크, Network Layer

(3) 표현 Presentation Layer

OSI 7계층은 국제표준화기구(International Standard Organization, ISO)에서 발표한 네트워크 표준 모델

 

1계층 물리 계층(Physical layer) : 전선, 전파, 광섬유, 동축케이블, 도피관, PSTN, DSU, CSU, Modem

단순 데이터를 전기적 신호로 변환 해서 주고받는 기능. 케이블, repeater, hub 등을 통해 데이터를 전송

2계층 데이터 링크 계층 (DataLink Layer): Ethernet, Token Ring, PPP, HDLC, ISDN, ATM

물리 계층을 통해 송수신되는 정보의 흐름을 관리하여 안전한 정보의 전달을 수행. MAC 주소를 가지고 통신을 한다

3계층 네트워크 계층(Network layer): IP, ARP, RARP, ICMP, IGMP, 라우팅 프로토콜

전송 데이터를 목적지까지 경로를 찾아 전송하는 계층. 주소(IP)를 정하고, 경로(Route)를 선택하여 패킷을 전달하는 것이 핵심

4계층 전송 계층 (Transport ): TCP, UDP, RTP, SCTP, SPX

데이터를 전송하고 전송 속도를 조절하며 오류가 발생된 부분은 다시 맞춰주며, 주로 TCP 프로토콜을 사용

5계층 세션 계층 (Session) : TLS, SSH, ISO 8327 / CCITTX225, RPC, NetBIOS

네트워크의 양쪽 연결을 관리하고 지속적으로 연결을 시켜줍니다. TCP / IP 의 세션을 만들고 없애는 것을 반복합니다.

6계층 표현 계층 (Presentation): JPEG, MPEG, XDR, ASN1, SMB, AFP

응용 계층으로부터 전달받거나 전송하는 데이터의 인코딩(언어처리) 및 디코딩이 이루어집니다. JPEG, TIFF, GIF 등의 다양한 포맷을 지원

7계층 응용 계층 (Application) : HTTP, SMTP, SNMP, FTP, Telnet, SSH&SCP, NFS, RTSP

사용자가 네트워크에 접근할 있도록 도와줍니다. 사용자에게 보이는 유일한 계층으로 메일 전송 / 인터넷 접속 등의 작업을 수행합니다.

 

15. IBM, 암호화 기법, 블록 64비트, 키 56비트, 16라운드

암호 알고리즘으로 64비트 평문을 64비트 암호문으로 암호화하는 대칭키 암호화 알고리즘이다. 키는 7비트마다 오류검출을 위한 정보가 1비트 씩 들어가기 때문에 실질적으로는 56비트이다. 현재는 취약하여 사용되지 않는다. IBM에서 개발하고 미국 NBS(현재 NIST)에서 국가 표준으로 정함. 현재는 잘 사용되지 않음.
더보기

DES

 

(참고)

AES,(DES를 대체하는 미국 표준 대칭키 알고리즘. 블록 크기는 128. 가변 길의 키 사용 가능(128, 192, 256) 메모리 적게 사용

SEED: 한국. 한국인터넷진흥원(KISA)에서 보급한 대칭키 암호화 알고리즘 128 bit

 

16. C언어 실행결과는? - 이중 포인터

#include <stdio.h>
int main() {
    int *array[3];
    int a = 12, b = 24, c = 36;
    
    array[0] = &a;
    array[1] = &b;
    array[2] = &c;
	
    printf("%d", *array[1] + **array + 1);
}
더보기

37

 

정수를 출력하며, *array[1] = 24, **array = array[0] = 12, + 1 하면 37

 

17. Java 언어 실행결과

public class Gisafirst {
    public static void main(String[] args) {
    	int w = 3, x = 4, y = 3, z = 5;
    	
    	if((w == 2 | w == y) & !(y > z) & (1 == x ^ y != z)) {
    		w = x + y;
    		
    		if(7 == x ^ y != w) {
    			System.out.println(w);
    		} else {
    			System.out.println(x);
    		}
    	} else {
    		w = y + z;
    		
    		if(7 == y ^ z != w) {
    			System.out.println(w);
    		} else {
    			System.out.println(z);
    		}
    	}
    }
}

정답:

더보기

7

 

1==x ^ y != z 는 0 ^ 1 이니까 1 (^ -> XOR 이라서 0과 1이 나오면 1로 처리함, 만약 1과 1이면 0으로 처리함)

맨 위의 if 가 참이 되어서 아래 결과를 실행하는 데 그 때 if(7 == x ^ y != w) 도 참이기 때문에 w 값인 7이 출력

 

18. 블랙박스 / 화이트 테스트 기법

입력 자료 간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석 후 효용성이 높은 테스트 케이스를 선정해서 테스트하는 기법?

정답:

더보기

Cause Effect Graph

 

블랙 박스 테스트 (명세 기반 테스트)

경계값 분석, 동등 분할 기법, 원인-결과 그래프

화이트 박스 테스트 ( 구현 기반 테스트)

기본 경로 테스트, 루프 검사, 조건 검사, 데이터 흐름 검사 등

 

19. 사용자가 키보드, 마우스 등을 이용한 사용자 인터페이스

화면에 아이콘을 띄어 마우스를 이용하여 화면에 있는 아이콘을 클릭하여 작업을 수행하는 방식이다. 대표적으로는 마이크로소프트의 Windows, 애플의 Mac 운영체제 등이 있다
더보기

GUI (Graphic User Interface)

 

20. 요구사항 중 관계 - 집합 (부분점수 있음)

(1) 추상화
(   )은 클래스들 사이의 전체 또는 부분 같은 관계를 나타내는 것
(2) 개념화
(    ) 은 클래스가 다른 클래스를 포함하는 상위 개념. ls-a 관계라 하며, 일반화 관계로 모델링
더보기

(1) Aggregation

(2) Generalization

 

UML에서 제공하는 클래스 사이의 관계

연관 관계 Association : 서로 연관되어 있는 개념

일반화 관계 Generalization : ls-a관계. 다른 클래스를 포함하는 관계

집약 관계 Aggregation : 클래스 사이의 전체 또는 부분 같은 관계. 독립적

합성 관계 Composition  : 클래스 사이의 전체 또는 부분 같은 관계. 의존적

의존 관계 Dependency : 연관 관계와 같이 한 클래스가 다른 클래스에서 제공하는 기능을 사용

실체화 관계 Realization : 인터페이스와 구현 클래스 사이의 관계를 나타냄

반응형