[정보처리기사 실기] Ⅹ. 기사실기 요약 / 정리 / 단답 / Tip / 알고가기!

Ⅹ. 프로그래밍 언어 - 알고가기!!


  • 정보보안의 세가지 요소
    기밀성, 무결성, 가용성
  • 자산
    조직의 데이터 또는 조직의 소유자가 가치를 부여한 대상
  • 위협
    조직이나 기업의 자산에 악영향을 끼칠 수 있는 사건이나 행위
  • 취약점
    위협이 발생하기 위한 사전 조건에 따른 상황
  • 개인정보보호법
    개인정보 처리과정상의 정보 주체와 개인정보 처리자의 권리, 의무 등을 규정한 법.
  • 데이터 타입의 유형 ( Tip. 불문열 정부배 )
    린(boolean) 타입 / 자(Character) 타입 / 문자(String) 타입 / 수(Integer) 타입 / 동소수점(Floating Point) 타입 / 열(Array) 타입
  • float 와 double 의 차이
    float형과 double형 모두 실숫값을 표현하지만 float는 4바이트로 보통 소수점 6자리까지 표현 가능하지만 double형은 8바이트 소수점 15자리까지 표현 가능.
  • 데이터 타입과 변수 차이
    변수는 어떤 값을 주기억 장치에 기억하기 위하여 사용하는 공간이고, 데이터 타입은 변수가 가질 수 있는 속성값의 길이 및 성질이다.
  • 예약어 (Reserved Word)
    프로그래밍 언어에서 이미 문법적인 용도로 사용되고 있기 때문에 식별자로 사용할 수 없는 단어.
    데이터타입(int, float, …), 조건문(if, switch, case), 반복문(while, for, do), 루푸제어문(break, continue), 함수반환값(return) 등…..
  • 연산자 종류 ( Tip. 산시관논비 대증 )
    술 연산자 / 프트 연산자 / 계 연산자 / 리 연산자 / 트 연산자 / 입 연산자 / 감 연산자
  • 개인정보보보 관련 법령 ( Tip. 개망신 )
    인정보 보호법 / 정보통신법 / 용정보법
  • 고유 식별정보의 종류 ( Tip. 주여운외 )
    민등록번호 / 권번호 / 전면허번호 / 국인 등록번호
  • 각언어별 출력함수
    C언어 : print / C++ : cout / 자바 : print, println / 파이썬 : print
  • SSL(Secure Socket Layer)
    웹 사이트에서 이루어지는 모든 정보전송이 https://로 암호화 프로토콜을 통해 안전하게 전송되게 하는 인증서.
    응용계층과 TCP/IP 계층 사이에서 웹 데이터 암호화 및 전송시 기밀성을 보장하는 공개키 기반의 보안 프로토콜.
  • 개인정보의 보호조치를 위해 비밀번호 및 바이오정보는 일방향 암호화 저장 한다.

  • 솔트(Salt)
    일방향 해시 함수에서 다이제스트를 생성할 때 추가되는 바이트 단위의 임의의 문자열.
  • MS-SDL 방법론
    마이크로소프트에서 안전한 소프트웨어를 개발하기 위해 자체 수립한 개발 보안 방법론.
  • 시큐어코딩
    설계 및 구현 단계에서 해킹 등의 공격을 유발할 가능성이 있는 잠재적인 보안취약점을 사전에 제거하고 외부공격으로부터 안전한 소프트웨어를 개발하는 기법.
  • 보안취약점
    해킹 등 외부 공격으로 시스템의 보안정책을 침해하는 보안사고의 실제 원인이 되는 시스템상의 보안 허점.
  • 보안약점
    보안취약점의 근본적인 원인이 되는 SW의 결함, 실수, 버그 등의 오류.
  • 입력데이터 검증 및 표현
    프로그램 입력값에 대한 검증 누락, 부적절한 검증, 데이터의 잘못된 형식지정 등으로 인해 발생되는 보안 약점.
  • SQL 삽입(Injection)
    공격자가 입력 창 및 URL에 SQL문을 삽입하여 DB로부터 정보를 열람∙조작할 수 있는 취약점 공격기법.
    방안 : 매개변수를 받는 PreparedStatement 객체를 상수 문자열로 생성하는 방법이 있음.
  • XSS(크로스 사이트 스크립트) 공격
    웹페이지에 악의적인 스크립트를 포함시켜 사용자 측에서 실행되게 유도할 수 있는 공격 기법.
    방안 : 외부 입∙출력값에 스크립트가 삽입되지 못하도록 & < > “ ‘ / ( ) 등에 대해 문자열 치환함수를 구현한다.
    종류 : Reflected XSS, Stored XSS, DOM XSS
  • JSTL
    JSP에서 제공하는 태그 등을 지원하는 JSP 표준 태그 라이브러리의 약어.
  • 정적분석
    SW를 실행하지 않고 보안약점을 분석하는 방법.
  • 시드(Seed)
    어떤 특정한 시작 숫자를 정해 주면 컴퓨터가 정해진 알고리즘에 의해 마치 난수처럼 보이는 수열을 생성하는데, 이때의 시작 숫자이다.
  • 중요정보를 평문으로 송∙수신 할 경우 스니핑(Sniffing)공격에 노출 될 수 있다.

  • 경쟁조건
    메모리가 공유되는 하나의 객체에 두개이상의 스레드가 동시에 값을 변경하려고 할 때에 발생되는 성능 저하의 문제점.
  • 추상화 종류 ( Tip. 기자제 )
    능 추상화 : 입력 자료를 출력 자료로 변환하는 과정을 추상화 하는 방법.
    료 추상화 : 자료와 자료에 적용할 수 있는 연산을 함께 정의하는 방법.
    어 추상화 : 외부 이벤트에 대한 반응을 추상화 하는 방법.
  • 부적절한 자원해제
    자원고갈로 인한 시스템 오류를 유발하는 보안 약점.
  • 변수
    어떤 값을 주기억 장치에 기억하기 위해서 사용하는 공간.
  • 식별자
    프로그램의 구성요소를 구별하기 위한 기준.
  • 바인딩
    변수와 변수에 관련된 속성을 연결하는 과정 / 정적 바인딩과 동적바인딩으로 구분
  • 정적 바인딩
    프로그램 실행 시간 전에 속성을 연결하는 방식.
  • 동적 바인딩
    프로그램 실행 시간에 속성을 연결하는 방식.
  • 단순구조(Simple) 종류
    int, float, double, char
  • 선형 구조(Liner) 종류
    연결자료구조, 순차자료구조, 스택, 큐, 덱 등
  • 비선형 구조(Non_Liner)
    트리, 그래프
  • 파일구조(File)
    순차 파일, 색인 파일
  • 사용자 정의 자료형 중 구조체 개념
    사용자가 기본 타입을 가지고 새롭게 정의할 수 있는 사용자 정의 자료형.
  • 사용자 정의 자료형 중 열거체 개념
    서로 연관된 정수형 상수들의 집합이고, 정수형 상수에 이름을 붙여서 코드를 이해하기 쉽게 해준다.
  • 사용자 정의 자료형 중 공용체 개념
    모든 멤버변수가 하나의 메모리 공간을 공유하는 사용자 정의 자료형.
  • 기능추상화
    입력 자료를 출력 자료로 변환하는 과정을 추상화 하는 방법.
  • 자료추상화
    자료와 자료에 적용할 수 있는 연산을 함께 정의하는 방법.
  • 제어추상화
    외부 이벤트에 대한 반응을 추상화하는 방법.
  • 컴파일러(Compiler)
    컴파일러는 FORTRAN, C 등과 같은 고급 언어를 기계어로 번역하는 프로그램이자 도구로, 컴파일 방식의 언어는 모두 컴파일러가 필요.
  • 인터프리터(Interpreter)
    프로그램 문장을 하나씩 번역하고 실행할 수 있도록 하는 프로그램.
    컴파일 과정이 없기 때문에 개발하는 과정에서 사용하면 유용하다는 장점이 있지만, 실행속도가 느리고 메모리 사용이 비효율적이다.
  • 널포인터 역참조
    널 값을 고려하지 않은 코드에서 발생하는 보안 약점.
  • 세션(Session)
    클라이언트와 서버의 논리적인 연결.
  • 객체지향 프로그래밍 구성요소 ( Tip. 객클메 )
    체(Object) : 개체, 속성, 메서드로 구성된 클래스의 인스턴스를 의미.
    래스(Class) : 객체지향 프로그래밍에서 객체를 표현하는 추상 데이터 타입으로 객체를 생성하는 틀. / 클래스를 통해 추상화된 자료형을 제공.
    시지(Message) : 객체간의 통신.
  • 객체의 구성요소 ( Tip. 개속메 )
    체(Entity) : 현실 세계에 보이는 본질을 의미.
    성(Attribute) : 자료 저장소 역할을 하며, 절차 지향 프로그래밍의 변수와 대응.
    서드(Method) : 호출 단위를 의미하며, 절차지향 프로그래밍의 함수와 대응.
  • 라이브러리의 구성 ( Tip. 도설샘 )
    움말 : 라이브러리를 사용하는데 이해하기 쉽도록 설명해 놓은 문서.
    치 파일 : 라이브러리를 적용하기 위해 제공되는 파일.
    플 코드 : 개발자가 라이브러리를 이해하고 손쉽게 적용하기 위해 제공되는 소스 코드.
  • 저급 언어
    기계가 이해할 수 있도록 만들어진 언어 / 대표적으로 기계어, 어셈블리어가 있음.
  • 고급 언어
    개발자가 소스 코드를 작성할 때 쉽게 이해할 수 있도록 작성된 언어 / C, C++, 자바, 파이썬 등…
  • 절차형 언어 (명령형 언어)
    컴퓨터에 저장된 명령어들이 순차적으로 실행되는 프로그래밍 방식.
  • 객체지향 언어
    객체 간의 메시지 통신을 이용하여 프로그래밍 하는 방식.
  • 함수형 언어 개념
    수학적 수식과 같은 함수들로 프로그램을 구성하여 호출하는 방식.
  • 논리형 언어 개념
    논리문장을 이용하여 프로그램을 표현하고 계산을 수행하는 개념에 기반한 프로그래밍 방식.
  • 객체지향 언어의 종류 : JAVA, C++

  • 명령형 언어 종류 : FORTRAN, COBOL, PASCAL, C

  • 함수형 언어 종류 : LISP

  • 논리형 언어 종류 : 프롤로그

  • C언어
    유닉스 운영체제에서 사용하기 위해 개발한 프로그래밍 언어.
    모든 컴퓨터 시스템에서 사용할 수 있도록 설계된 프로그래밍 언어.
  • PHP
    동적 웹페이지를 만들기 위해 설계됨.
    작성된 코드를 HTML에 입력시 웹서버에서 해당 코드를 인식하여 작성자가 원하는 웹페이지를 생성.
    인터페이스 방식의 자체 인터프리터를 제공.
  • 파이썬(Python)
    다양한 플랫폼에서 쓸수 있고, 라이브러리(모듈)가 풍부.
    유니코드 문자열을 지원하여 다양한 언어의 문자 처리.
    들여쓰기를 사용하여 블록을 구분.
    다른 언어로 쓰인 모듈들을 연결하는 언어.
  • 자바스크립트(Javascript)
    객체 기반의 스크립트 프로그래밍 언어.
    웹 브라우저 내에서 주로 사용하며, 다른 응용프로그램의 내장 객체에도 접근할 수 있는 기능이 존재.
    자바스크립트는 브라우저마다 지원되는 버전이 상이함.
  • 리스프(LISP)
    대표적인 함수형 언어.
    수학 표기법을 나타내기 위한 목적으로 생성.
    트리 자료구조, 가비지컬렉션, 동적 자료형과 인터프리터와 같은 개념 제시.
  • 펄(Per) 언어
    인터프리터 방식의 프로그래밍 언어.
    C, 쉘스크립트 등 다른 프로그래밍 언어에 뛰어난 기능을 도입하였다.
    강력한 문자열 처리 기능을 제공한다.
  • 라이브러리 기능
    문자열 연산 기능 / 문자열 탐색/치완기능 / 수치계산기능 / 난수 생성 기능 / 파일 경로 조작 기능 / 디렉터리 생성 기능 / 날짜 조작 기능 / 로그 출력 기능.
  • 산술 연산자 : +, -, *, /, %
  • 시프트 연산자 : », «
  • 관계 연산자 : >, <, >=, <=, ==, !=
  • 논리 연산자 : ||, &&
  • 비트 연산자 : &, |, ^
  • 대입 연산자 : =, +=, -+, *=, /=, %=
  • 증감연산자 : ++, –

  • 컴파일 방식의 언어
    고급 언어를 기계어로 번역하는 방식의 언어.
    컴파일러에 의해 실행에 필요한 정보가 컴파일 시간에 계산되어 실행 속도가 높음.
    대표적으로 FORTRAN, PASCAL, C, C++
  • 인터프리터 방식의 언어
    고급 언어 명령문을 하나씩 번역하고, 실행하는 방식의 언어.
    프로그램 실행과 동시에 동작.
    대표적으로 BASIC, 프롤로그, LISP
  • 혼합형 방식의 언어
    고급 언어를 컴파일하여 중간 언어로 변환한 후, 인터프리터에 의해 번역을 실행하는 방식의 언어.
    대표적으로 JAVA
  • 패키지란?
    모듈을 디렉터리 형식으로 구조화한 라이브러리.
  • 운영체제(OS; Operating System)
    사용자가 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해 주는 소프트웨어.
  • 데이터베이스(Database)
    데이터베이스는 다수의 인원, 시스템 또는 프로그램이 사용할 목적으로 통합하여 관리되는 데이터의 집합.
  • DBMS(Database Management System)
    DBMS는 데이터 관리의 복잡성을 해결하는 동시에 데이터 추가, 변경, 검색, 삭제 및 백업, 복구, 보안 등의 기능을 지원하는 소프트웨어.
  • 네트워크(Network)
    원하는 정보를 원하는 수신자 또는 기기에 정확하게 전송하기 위한 기반 인프라.
  • OSI(Open System Interconnection) 7계층
    국제 표준화 기구인 ISO에서 개발한 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 개방형 시스템 상호 연결 모델.
  • TCP(Transmission Control Protocol)
    전송 제어 프로토콜은 인터넷 프로토콜 스위트의 핵심 프로토콜 중 하나로, IP와 함께 TCP/IP라는 명칭으로 사용.






  • 정보처리기사 필기 합격 후 실기대비 정리 및 책없이 간단히 보기위해 작성하였습니다.
  • 2020년 수제비 정보처리기사 책 기반으로 정리 하였습니다.
  • 저작권 관련 문제가 있다면 hojunbbaek@gmail.com 으로 메일 주시면 바로 삭제 조치 하도록 하겠습니다.



마지막 수정