일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 정처기실기
- 일본편의점
- 오모테산도힐즈
- 가라오케
- 시부야스크램블교차로
- 도쿄스카이트리
- 마츠리
- 목록
- 도쿄디즈니랜드
- 스카이트리
- 키디랜드
- 대4인생
- adsp시험후기
- 랄프커피
- 야키토리
- ADsP
- ADsP시험방법
- 일본녹차
- 캐릭터스트리트
- 정처기실기준비
- 도쿄여행
- 아자뵤
- ChatGPT
- 도쿄아사히
- ~8월까지
- 다이마루백화점
- 생성형ai
- 오모테산도
- 가보자고
- 정처기실기후기
- Today
- Total
+ Repository +
[정처기 실기] 기출문제 풀이 2021 - 3회차 본문
1. 다음 Java 코드에 대한 알맞는 출력값을 쓰시오.
class Connection {
private static Connection _inst = null;
private int count = 0;
static public Connection get() {
if(_inst == null) {
_inst = new Connection();
return _inst;
}
return _inst;
}
public void count() { count ++; }
public int getCount() { return count; }
}
public class testcon {
public static void main(String[] args) {
Connection conn1 = Connection.get();
conn1.count();
Connection conn2 = Connection.get();
conn2.count();
Connection conn3 = Connection.get();
conn3.count();
System.out.print(conn1.getCount());
}
}
→ 3
2. 다음은 정보 보호 기술인 AAA에 대한 설명이다. 각 설명에 맞는 답을 고르시오
(1) 시스템을 접근하기 전에 접근 시도하는 사용자의 신원을 검증
(2) 검증된 사용자에게 어떤 수준의 권한과 서비스를 허용
(3) 사용자의 자원(시간,정보,위치 등)에 대한 사용 정보를 수집
→ Authentication (인증)
→ Authorization (인가)
→ Accounting (계정)
- 정보보호 AAA (=3A 라고도 한다.)
- 신분을 확인하는 Authentication (인증)
- 접근, 허가를 결정하는 Authorization (인가)
- 리소스 사용정보를 수집, 관리하는 Accounting (계정)
3. 데이터 제어어(DCL) 중 GRANT 에 대하여 설명하시오.
→ 데이터베이스 사용자에게 사용 권한을 부여하는데 사용하는 명령어이다.
- Revoke → 사용자에게 부여한 권한을 다시 회수하는 명령어이다.
4. 다음은 스푸핑 공격에 대한 설명이다. 괄호안에 들어갈 알맞은 답안을 작성하시오.
( ) 스푸핑은 근거리 통신망 하에서 ( ) 메시지를 이용하여
상대방의 데이터 패킷을 중간에서 가로채는 중간자 공격 기법이다.
이 공격은 **데이터 링크 상의 프로토콜**인 ( )를 이용하기 때문에
근거리상의 통신에서만 사용할 수 있는 공격이다.
→ ARP
- ARP (Address Resolution Protocol)
⇒ ARP는 네트워크 상에서 IP주소를 물리적 네트워크 주소 (이더넷) 로
대응시키기 위해 사용되는 프로토콜이다. 인터넷 계층에 속해있다.
5. 다음은 Coupling에 대한 설명이다. 설명에 대한 Coupling 종류를 영문으로 작성하시오.
어떤 모듈이 다른 모듈의 내부 논리 조직을 제어하기 위한 목적으로
제어 신호를 이용하여 통신하는 경우의 결합도이다.
하위 모듈에서 상위 모듈로 제어 신호가 이동하여
상위 모듈에게 처리 명령을 부여하는 권리 전도 현상이 발생할 수 있다.
→ Control Coupling
[ 결합도 종류 ] *결합도는 약할수록 좋다. 응집도는 높을수록 좋다.
ㅈㅅㅈㅇㄱㄴ (약 —> 강)
- 자료 결합도 (Data Coupling)
- 스탬프 결합도 (Stamp Coupling)
- 제어 결합도 (Control Coupling)
- 외부 결합도 (External Coupling)
- 공통 결합도 (Common Coupling)
- 내용 결합도 (Content Coupling)
6. OSI 7 Layer에 대한 설명이다. 다음 각 설명에 해당되는 계층을 적으시오.
(1) 물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할
(2) 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능
(3) 수신자에서 데이터의 압축을 풀수 있는 방식으로 된 데이터 압축
→ 데이터링크 계층
→ 네트워크 계층
→ 표현 계층
- OSI 7계층 특징정리 (☆)
⑴ 물리 계층 (Physical Layer)
단순 데이터를 전기적인 신호로 변환(on/off)해서 주고받는 기능만 하며,
케이블, 리피터, 허브를 통해 데이터를 전송합니다.
→ 물리적 케이블 등 …
⑵ 데이터링크 계층 (Datalink Layer)
물리계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행하도록 하는 역할.
→ MAC주소를 가지고 통신.
⑶ 네트워크 계층 (Network Layer)
전송 데이터를 목적지까지 경로를 찾아 전송하는 계층입니다.주소(IP)를 정하고, 경로(route)를 선택하여 패킷을 전달하는 것이 핵심입니다.
⑷ 전송 계층 (Transport Layer)
데이터를 전송하고 전송 속도를 조절하며 오류가 발생된 부분은 다시 맞춰주며, 주
로 TCP프로토콜을 사용합니다.
⑸ 세션 계층 (Session Layer)
네트워크의 양쪽 연결을 관리하고 지속적으로 연결을 시켜줍니다.
TCP/IP의 세션을 만들고 없애는 것을 반복합니다.
⑹ 표현 계층 (Presentation Layer)
응용계층으로부터 전달받거나 전송하는 데이터의 인코딩(언어처리) 및 디코딩이 이루어 집니다.
JPEG,TIFF,GIF 등의 다양한 포맷을 지원합니다.
(7) 응용 계층 (Application Layer)
사용자가 네트워크에 접근할 수 있도록 도와줍니다.
사용자에게 보이는 유일한 계층으로 메일전송/인터넷접속 등의 작업을 수행합니다.
7. 다음 객체지향 추상화에 대한 설명 중 괄호 안에 들어갈 알맞은 용어를 적으시오.
( A )은/는 클래스들 사이의 전체 또는 부분 같은 관계를 나타내는 것이고, ( B )은/는 한 클래스가 다른 클래스를 포함하는 상위 개념일 때 IS-A관계라하며, 일반화 관계로 모델링한다.
A → aggregation
B → generalization
* UML 다이어그램의 구조 다이어그램 (객체 구조 행위 中) - 클래스 다이어그램의 문제이다.
[ UML 다이어그램 종류와 구분 ]
1. 구조 다이어그램 (Structure Diagram)
(1) 클래스 다이어그램 (이곳에 해당됩니다.)
(2) 객체 다이어그램
(3) 복합체 구조 다이어그램
(4) 배치 다이어그램
(5) 컴포넌트 다이어그램
(6) 패키지 다이어그램
2. 행위 다이어그램 (Behavior Diagram)
(1) 활동 다이어그램
(2) 상태 머신 다이어그램
(3) 유즈 케이스 다이어그램
(4) 상호작용 다이어그램
[ UML → 구조 다이어그램 → 클래스 다이어그램 ]
시간에 따라 변하지 않는 시스템의 정적인 면을 보여주는 대표적인 UML 구조 다이어그램이며, 시스템을 구성하는 클래스들 사이의 관계를 표현합니다.
[ UML 클래스 다이어그램이 제공하는 관계 ]
(1) 연관 관계 (association) : 클래스들이 개념상 서로 연결되어 있음을 나타냅니다.
(2) 일반화 관계 (generalization) : 상속 관계를 설명합니다. (위 문제 참조)
(3) 집합관계 :
a.집약 관계(aggregation) : 클래스 사이의 전체 또는 부분 같은 관계를 나타냅니다. (객체 라이프 타임 : 독립적)
b.합성 관계 (composition) : 클래스 사이의 전체 또는 부분 같은 관계를 나타냅니다. (객체 라이프 타임 : 의존적)
(4) 의존 관계 (dependency) : 연관 관계와 같이 한 클래스가 다른 클래스에서 제공하는 기능을 사용합니다.
(5) 실체화 관계 (realization) : 인터페이스와 구현 클래스 사이의 관계를 나타냅니다.
8. 다음은 테스트케이스의 구성요소에 대한 설명이다. 괄호 ( ) 안에 들어갈 알맞는 보기를 고르시오.
→ 테스트 조건
→ 테스트 데이터
→ 예상 결과
9. 아래에서 설명하는 테스트 기법은 무엇인가?
입력 자료 간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석 후 효용성이 높은 테스트 케이스를 선정해서 테스트하는 기법.
→ Cause Effect Graph (원인 결과 그래프)
- 테스트기법 - 블랙박스 테스트 - 원인결과 그래프 기법.
10. 다음에서 설명하는 블록 암호 알고리즘을 적으시오.
이것은 미국 NBS (National Bureau of Standards, 현재 NIST)에서 국가 표준으로 정한 암호 알고리즘으로, 64비트 평문을 64비트 암호문으로 암화하는 대칭키 암호 알고리즘이다. 키는 7비트마다 오류검출을 위한 정보가 1비트씩 들어가기 때문에 실질적으로는 56비트이다. 현재는 취약하여 사용되지 않는다.
→ DES
11. 다음 Java 코드에 대한 알맞는 출력값을 쓰시오.
public class testco {
public static void main(String[] args) {
int a = 3, b = 4, c = 3, d = 5;
if((a == 2 | a == c) & !(c > d) & (1 == b ^ c != d)) {
a = b + c;
if(7 == b ^ c != a) {
System.out.println(a);
} else {
System.out.println(b);
}
} else {
a = c + d;
if(7 == c ^ d != a) {
System.out.println(a);
} else {
System.out.println(d);
}
}
}
}
→ 7
- & = AND, | = OR, ^ = XOR **
12. 다음 C언어에 대한 알맞는 출력값을 쓰시오.
#include <stdio.h>
int main(){
int *arr[3];
int a = 12, b = 24, c = 36;
arr[0] = &a;
arr[1] = &b;
arr[2] = &c;
printf("%d\\n", *arr[1] + **arr + 1);
}
→ 37 (=24+12+1)
**arr = arr이 가리키는 값 *arr = &a 이므로, &a의 주소가 가리키는 값 **a = 12 가 된다.
- **arr = 이중포인터.
[ 포인터와 이중포인터 개념 정리 ]
- *arr = 포인터 선언, 해당 포인터가 가리키는 원래 값
- &arr = 해당 변수가 가리키던 주소의 위치 받아오기.
- 포인터 출력시에는 %p
이중 포인터 = 포인터를 지목하고있는 포인터int a = 3;int**c = &b; 라면
- c가 최종적으로 가리키는 값 == a (3) 이 된다.
- int b = &a;
- ex)
- *와 & 를 혼동하면 안된다.
13. 다음은, 테이블에서 조건값을 실행한 화면이다. 이에 대한 알맞는 결과값을 작성하시오.
→ 4
- CROSS JOIN = join을 해서 나올 수 있는 모든 행의 조합을 보여주는 것이다.
따라서 s% 로 시작하는 T1테이블의 A.NAME의 개수는 2개,
t를 포함하는 %t% 의 A.NAME 개수 또한 2개이므로
2+2 = 4가 된다.
14. 다음 파이썬 코드의 알맞는 출력값을 쓰시오.
a,b = 100, 200
print(a==b)
→ False
* print(int(a==b)) 라면 답이 0 이지만,
여기는 그런거 아니므로 전체로 본다.
따라서 답은 False가 된다.
** key point = 첫 글자는 대문자!
맞다면 True
아니면 False
15. 다음은 UML의 다이어그램에 대한 설명이다. 어떤 다이어그램에 대한 설명인가?
이 다이어그램은 문제 해결을 위한 도메인 구조를 나타내어 보이지 않는 도메인 안의 개념과 같은 추상적인 개념을 기술하기 위해 나타낸 것이다.
또한 소프트웨어의 설계 혹은 완성된 소프트웨어의 구현 설명을 목적으로 사용할 수 있다. 이 다이어그램은 속성(attribute)과 메서드(method)를 포함한다.
→ 클래스 다이어그램
*UML 다이어그램은 Unified Modeling Language 로,
UML을 사용하면
- 의미가 명확하고 소통이 원활해지며
- 전체 시스템의 구조와 클래스 간의 의존성 파악도 쉬우며
- 원활한 유지보수를 위한 문서 활용으로도 사용된다.
- 구조 다이어그램 (@정적)
- 행위 다이어그램 (@동적)
으로 구분 가능하다.
클래스 다이어그램은 구조 다이어그램에 속한다.
16. 다음 보기에서 설명하는 객체지향 디자인 패턴은 무엇인가?
부모(상위) 클래스에 알려지지 않은 구체 클래스를 생성하는 패턴이며, 자식(하위) 클래스가 어떤 객체를 생성할지를 결정하도록 하는 패턴이기도 하다. 부모(상위) 클래스 코드에 구체 클래스 이름을 감추기 위한 방법으로도 사용한다.
→ Factory Method
~ 패턴에는 두가지가 있다.
- 소프트웨어 아키텍처 패턴
: 소프트웨어를 설계할 때 참조할 수 있는 전형적인 해결방식
[ 유형 ]
- 계층화 패턴 (Layered Pattern) : 특정한 수준의 추상화 제공, 각 계층은 다음 상위 계층에 서비스를 제공 (서로 마주보는 두 계층 사이에서만 상호작용이 이루어진다.)
- 클라이언트-서버 패턴 (Client - Server Pattern) : 하나의 서버와 다수의 클라이언트로 구성된 패턴이다. 사용자가 클라이언트를 통해 서버에 서비스 요청하면, 서버는 클라이언트에게 서비스를 제공한다. (서버 1, 클라이언트 多) 서버는 클라이언트의 요청을 계속 대기한다.
- 파이프-필터 패턴 (Pipe-Filter Pattern) : 데이터 스트림을 생성하고 처리하는 시스템에서 사용가능. 서브 시스템이 입력 데이터를 받아 처리하고, 결과를 다음 서브 시스템으로 넘겨주는 과정을 반복한다. 필터 컴포넌트는 재사용성 good, 추가가 쉽다. 따라서 확장에 용이하다.
- 브로커 패턴 (Broker Pattern) : 분리된 컴포넌트들로 이루어진 분산시스템에서 사용. 컴포넌트들은 원격 서비스 실행을 통해 상호작용이 가능하다. 브로커 컴포넌트는 컴포넌트간의 통신을 조정하는 역할을 수행한다.
- 모델-뷰-컨트롤러 패턴 (MVC Pattern) : 대화형 어플리케이션을 모델, 뷰, 컨터롤러 3개의 서브 시스템으로 구조화하는 패턴. 각 부분이 별도의 컴포넌트로 분리되어 있어 서로 영향을 받지않고 개발 작업 수행 가능하다.
- 모델 : 핵심 기능과 데이터 보관
- 뷰 : 사용자에게 정보표시 (*하나 이상의 뷰가 정의될 수 있다.)
- 컨트롤러 : 사용자로부터 요청을 입력받아 처리
- 디자인 패턴
: 소프트웨어 공학의 소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 방법을 정리한 패턴이다.
→ 참고하여 sw 개발시 개발의 효율성과 유지보수성, 운용성이 높아지고, 프로그램의 최적화에 도움이 된다.
[ 유형 ]
- 생성 패턴
- 구조 패턴
- 행위 패턴
1. 생성패턴
- Builder : 생성과 표기를 분리하여 복잡한 객체를 생성한다.
- Prototype : 일반적인 원형을 만들어 놓고, 그것을 복사한 후 필요한부분만 수정하여 사용
- Factory Method (=가상메서드, Virtual Method) :
-상위클래스 : 객체를 생성하는 인터페이스를 정의
-하위클래스 : 인스턴스를 생성
→ 인터페이스와 실제 객체 생성하는 클래스를 분리. (☆)
- Abstract Factory : 구체적 클래스 만드는거 x, 서로 연관되거나 의존적인 객체들의 조합을 만드는 인터페이스를 제공. 구체적인건 Con-crete Product에서 한다.
- Singleton : 전역변수를 사용하지않고 객체를 하나만 생성. 한 클래스에 한 객체만 존재하도록 제한한다.
2. 구조패턴
- Bridge : 구현부에서 추상계층을 분리하여 추상화된 부분과 실제 구현부분을 독립적으로 확장할 수 있다.
- Proxy : ‘실제 객체에 대한 대리 객체’ → 메모리용량 절약, 정보은닉이 가능하다.
- Adapter : 기존에 생성된 클래스를 재사용할 수 있도록 중간에서 맞춰주는 역할을 한다. → 상속과 위임이 있다.
그 외에도
- Decorator
- Facade
- Flyweight
- Composite
3. 행위패턴
- Interpreter : 구체적 구문을 나누고 구문별로 해석 클래스 각각 → 여러 형태의 언어 구문을 해석할 수 있게 만든다.
- Observer : 객체의 상태변화에 따라 의존하는 다른 객체의 상태도 연동되는 것. 일대 다 의존성을 가진다.
- Visitor : 각 클래스의 처리기능 분리하여 별도로 만들어두어 메서드가 각 클래스를 돌아다니며 특정 작업을 수행하도록 만드는 패턴. 객체의 구조는 변경하지 않으며 기능만 따로 추가하거나 확장할 때 사용하는 디자인 패턴이다.
- Command : 요구사항을 객체로 캡슐화한다.
- Strategy : 행위 객체를 클래스로 캡슐화 해 동적으로 행위를 자유롭게 변환한다.
- Chain of Responsibility : 정적연결 → 하드코딩 어렵다. 동적연결 → 경우에 따라 다르게 처리될 수있도록. (한 요청을 2개 이상의 객체에서 처리)
그 외에도
- Mediator
- Iterator
- Template Method
- State
- Memento
가 있다.
17. 다음 C언어 코드에 알맞은 출력값을 쓰시오.
#include
struct jsu {
char nae[12];
int os, db, hab, hhab;
};
int main(){
struct jsu st[3] = {{"데이터1", 95, 88},
{"데이터2", 84, 91},
{"데이터3", 86, 75}};
struct jsu* p;
p = &st[0];
(p + 1)->hab = (p + 1)->os + (p + 2)->db;
(p + 1)->hhab = (p+1)->hab + p->os + p->db;
printf("%dn", (p+1)->hab + (p+1)->hhab);
}
→
☆ 문제 꼼꼼히 읽으면 해결되는 문제이다.
생각하자, 그리고 꼼꼼하게 다시 한번 읽어내자.
18. 다음은 파일 구조(File Structures)에 대한 설명이다. 괄호 ( ) 안에 들어갈 알맞는 답을 작성하시오.
파일구조는 파일을 구성하는 레코드들이 보조 기억 장치에 편성되는 방식으로 접근 방식에 따라 방식이 달라진다. 접근 방법중, 레코드들을 키-값 순으로 정렬하여 기록하고, 레코드의 키 항목만을 모은 ( )을 구성하여 편성하는 방식이 있으며, 레코드를 참조할 때는 ( ) 이 가르키는 주소를 사용하여 직접 참조할 수 있다. 파일 구조에는 순차 접근, ( ) 접근, 해싱 접근이 있다.
→ 인덱스
파일구조
- 순차접근
- 인덱스 접근
- 해싱 접근
19. 다음 설명에 대한 알맞는 답을 영문약어로 작성하시오.
( )는 사용자가 그래픽을 통해 컴퓨터와 정보를 교환하는 환경을 말한다. 이전까지 사용자 인터페이스는 키보드를 통해 명령어로 작업을 수행시켰지만 ( )에서는 키보드 뿐만 아니라 마우스 등을 이용하여 화면의 메뉴 중 하나를 선택하여 작업을 수행한다.
화면에 아이콘을 띄어 마우스를 이용하여 화면에 있는 아이콘을 클릭하여 작업을 수행하는 방식이다.
대표적으로는 마이크로소프트의 Windows, 애플의 Mac 운영체제 등이 있다.
→ GUI
- UI 종류
- CLI (Command Line Interface) - 정적인 텍스트 기반
- GUI (Graphical User Interface) - 그래픽 반응 기반
- NUI (Natural User Interface) - 직관적 사용자 반응 기반
- OUI (Organic User Interface) - 유기적 상호작용 기반
20. 다음은 소프트웨어 통합 테스트에 대한 설명이다. 괄호 ( ) 안에 들어갈 알맞는 답을 작성하시오.
( A ) 방식은 하위 모듈부터 시작하여 상위 모듈로 테스트를 진행하는 방식이며, 이 방식을 사용하기 위해서는 ( C )가 필요하다.
( C )는 이미 존재하는 하위 모듈과 존재하지 않은 상위 모듈에 대한 인터페이스 역할을 한다.
→ 상향식 테스트
→ 테스트 드라이버
*
상향식 → 테스트 드라이버
하향식 → 스텁
'자격증 > 정보처리기사' 카테고리의 다른 글
[정처기 실기] 기출문제 풀이 2022 - 2회차 (0) | 2022.10.12 |
---|---|
[정처기 실기] 기출문제 풀이 2022 - 1회차 (0) | 2022.07.17 |
[정처기 실기] 기출문제 풀이 2021 - 2회차 (0) | 2022.07.17 |
[정처기 실기] 기출문제 풀이 2021 - 1회차 (0) | 2022.07.10 |
[정처기 실기] 기출문제 풀이 2020 - 4회차 (0) | 2022.07.09 |