자격증

[정보처리기사 실기] 2023년도 기출 내용 정리

SeungbeomKim 2024. 4. 27. 05:20

 

2023년 1회

class Static{
 
    public int a = 20;
    static int b = 0;
    
}
 
public class Main{
    public static void main(String[] args) {
        
        int a;
        a = 10;
        Static.b = a;
 
        Static st = new Static();
 
        System.out.println(Static.b++); 10
        System.out.println(st.b); 11
        System.out.println(a); 10 
        System.out.print(st.a); 20
    }
}

#include <stdio.h>
 
int main(){
    char a[] = "Art";
    char* p = NULL;
    p = a;
 
    printf("%s\n", a);  // Art a == &a[0]
    printf("%c\n", *p); // A *p = p[0]
    printf("%c\n", *a); // A *a = &a[0] 
    printf("%s\n", p); // Art p = &p[0]
 
    for(int i = 0; a[i] != '\0'; i++)
    printf("%c", a[i]); // Art
 
}


#include <stdio.h>
 
int main(){
 
    char* a = "qwer";
    char* b = "qwtety";
 
    for(int i = 0; a[i] != '\0' ; i++){
        for(int j = 0; b[j] != '\0'; j++){
            if(a[i] == b[j]) printf("%c", a[i]); // qwe
        }
    }
 
}

class Parent {
    int x = 100;
 
    Parent() {
        this(500);
    }
 
    Parent(int x) {
        this.x = x;
    }
 
    int getX() {
        return x;
    }
}
 
class Child extends Parent {
    int x = 4000;
    
    Child() {
        this(5000);
    }
 
    Child(int x) {
        this.x = x;
    }
}
 
public class Main {
    public static void main(String[] args) {
        Child obj = new Child();
        System.out.println(obj.getX());
    }
}
// 부모 클래스의 값을 가져옴

 

Ajax

  • 자바스크립트를 이용해서 웹 서버와 클라이언트간 비동기적으로 XML 데이터를 교환하고 조작하기 위한 웹 기술, XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 로드하지 않고 필요한 일부 페이지만 로드

 

패킷 교환 방식

  • 데이터그램: 연결 경로를 확립하지 안혹 각각의 패킷을 순서에 무관하게 독립적으로 전송
  • 가상 회선: 패킷이 전소오디기 전에 송/수신 스테이션 간의 논리적인 통신 경로를 미리 설정하는 방식

 

VPN 2계층 터널링 프로토콜

  • PPTP: 마이크로사가 개발한 프로토콜로 IP, IPX를 암호화하고 IP 헤더로 캡슐화하여 전송하는 프로토콜 PPP에 기초
  • L2F: 시스코사에서 개발한 프로토콜로 하나의 터널에 여러 개의 연결을 지원하여 다자간 통신이 가능하도록 하는 프로토콜, TCP가 아닌 UDP를 사용
  • L2TP: L2F와 PPTP의 결합한 방법

 

SSH: Telnet보다 강력한 프로토콜, 22번

바이러스: 사용자 컴퓨터 내에서 프로그램이나 실행 가능한 부분을 변형해서 감염

웜: 인터넷 또는 네트워크를 통해 스스로 전파되는 악성 프로그램

트로이목마: 악성 루틴ㄴ이 숨어있는 프로그램으로 겉보기에는 정상적인 프로그램으로 보이지만, 실행하면 악성 코드를 실행하는 프로그램, 자가 복제 X

 

ICMP

  • IP 동작 과정에서 전송 오류가 발생하는 경우에 오류 전송을 목적으로 사용하는 프로토콜
  • Ping-of-Death에서도 사용

 

Proxy

  • 객체의 대리자를 이용하여 원래 객체의 작업을 대신해서 처리

 

튜플 = 행

릴레이션 인스턴스 = 릴레이션에 실제로 저장된 데이터의 집합

카디널리티 = 특정 데이터 집합의 유니크한 값의 개수

 

SELECT 과목, MIN(점수) AS 최소점수, MAX(점수) AS 최대점수

FROM 성적

GROUP BY 과목

HAVING AVG(점수) ≥ 90;

 

스키마

  • 외부: 사용자나 개발자의 관점에서 필요로 하는 데이터베이스 논리적 구조
  • 개념: 데이터베이스의 전체적인 논리적 구조
  • 내부: 물리적 저장 장치의 관점에서 보는 데이터베이스 구조, 실제로 데이터베이스에 저장될 레코드의 형식을 정의하고 저장

 

2023년 2회

 

조건 커버리지

  • 조건 커버리지는 결정 포이느 내에 각 개별 조건식이 적어도 한 번은 참과 거짓의 결과가 되도록 수행하는 테스트 커버리지

 

템퍼 프루핑

  • 소프트웨어, 시스템을 외부에서의 악의적인 조작으로부터 보호하는 보안 기술, 위변조와 같은 이상 조작 검출

 

Database 구축

  • 요구사항 분석 → 개념적 설계 → 논리적 설계 → 물리적 설계 → 구현

 

Singleton

  • 객체를 하나만 생성하도록 하며, 생성된 객체를 어디에서든지 참조할 수 있도록 하는 디자인 패턴

 

Visitor

  • 각 클래스의 데이터 구조로부터 처리 기능을 분리하여 별도의 클래스를 만들어놓고 해당 클래스의 메서드가 각 클래스를 돌아다니며 특정 작업을 수행하도록 만드는 패턴

 

오류 제어 방식

  • FEC(전진 오류 수정), BEC(후진 오류 수정)
  • FEC
    • 해밍 코드 방식(1비트 직접 오류 수정), 상승 코드 방식(여러 개의 비트의 오류가 있더라도 모두 수정 가능)
  • BEC
    • 패리티 검사, 순환 잉여 검사(다항식)

 

HDLC 프레임 구조

  • 플래그(동기 제공), 주소부(보조국 주소), 제어부(종류 식별), 정보부, FCS(전송 오류 검출)로 구성
  • I 프레임(0), S 프레임(10), U 프레임(11)

대칭키 암호화 종류: DES, AES, ARIA, SEED

비대칭키 암호화 종류: RSA, ECC

해시함수: 임의의 길이를 갖는 임의의 데이터를 고정된 길이의 데이터로 매핑하는 단방향 하수

CASCASE(제거 O), RESTRICT(제거 X)

 

2023년 3회

OAuth

  • 사용자가 비밀번호를 제공하지 않고 다른 웹사이트나 애플리케이션 접근 권한을 부여할 수 있게 하는 개방형 표준기술 (네이버, 구글, 카카오톡, 페이스북)

 

구조체의 포인터로 멤버에 접근하기 위해서는 화살표 연산자(→) 사용

구조체 포인터 → 멤버 변수 이름

 

ATM

  • 정보전달의 기보 단위를 53바이트 셀 단위로 사용하는 비동기식 시분할 다중화 방식의 패킷 전송 기술

NAT

  • 사설 IP → 공인 IP

split

 

패키지 다이어그램

  • 서로 다른 패키지들 사이의 의조관계 표현

 

Equivalence Partitioning

  • 입력 데이터를 기준을 가지고 나눈 이후에 대푯값을 설정해서 테스트 케이스로 사용하는 방법

 

IaaS

  • 서버, 스토리지 같은 시스템 자원을 클라우드로 제공하는 서비스

 

PaaS

  • 인프라를 생성 관리하는 복잡함 없이 애플리케이션을 개발, 실행, 관리할 수 있게 해주는 플랫폼을 제공하는 서비스

 

SaaS

  • 소프트웨어 및 관련 데이터는 중앙에 호스팅되고 사용자는 웹 브라우저 등의 클라이언트를 통해 접속하여 소프트웨어를 서비스 형태로 이용하는 서비스