[정보처리기사] 실기 정리 - 10과목 (2)

peach·2020년 10월 8일
4

정보처리기사

목록 보기
27/34
post-thumbnail

🧀 프로그래밍 언어


1. 유형 분류

(1) 개발 편의성에 따른 분류

  • 저급 언어 : 기계가 이해할 수 있도록 만들어진 언어
    ex. 기계어, 어셈블리어
  • 고급 언어 : 개발자가 소스 코드를 작성할 때 쉽게 이해할 수 있도록 작성된 언어
    ex. C, C++, JAVA, Python

(2) 실행 방식에 따른 분류

  • 절차형 언어 : 컴퓨터에 저장된 명령어들이 순차적으로 실행되는 방식
    ex. C, FORTRAN, COBOL, PASCAL

  • 객체지향 언어 : 객체 간의 메시지 통신을 이용하는 방식
    ex. JAVA, C++

  • 함수형 언어 : 함수들로 프로그램을 구성하여 호출하는 방식
    ex. LISP

  • 논리형 언어 : 논리 문장을 이용하여 프로그램을 표현하고 계산을 수행하는 개념에 기반한 방식
    ex. Prolog

(3) 구현 기법에 따른 분류

  • 컴파일 방식 언어 : 고급 언어를 기계어로 번영하는 방식
    ex. FORTRAN, PASCAL, C, C++

  • 인터프리터 방식 언어 : 고급 언어 명령문을 하나씩 번역하고 실행하는 방식
    ex. BASIC, LISP, Prolog

  • 혼합형 방식 언어 : 고급 언어를 컴파일하여 중간 언어로 변환한 후, 인터프리터에 의해 번역을 실행하는 방식
    ex. JAVA

2. 언어별 특성

(1) 절차적 언어

  • ALGOL : 알고리즘 연구개발을 위해 개발
  • C : 유닉스 운영체제에서 사용하기 위해 개발
  • BASIC : 교육용으로 개발
  • FORTRAN : 과학 기술 전문 언어

(2) 객체지향 언어

  • C++ : C 문법에 객체지향 프로그래밍 개념과 일반화 프로그래밍을 위한 템플릿 기능을 추가
  • C# : 불안전 코드와 같은 기술을 통해 플랫폼 간 상호 운용성 확보
  • JAVA : 자바 컴파일러에 의해 바이트 코드라는 특수한 바이너리 형태로 변환
  • Delphi : PASCAL 문법에 여러 기능을 추가

(3) 스크립트 언어

  • PHP : 동적 웹 페이지를 만드는 데 사용
  • Perl : 강력한 문자열 처리 기능 제공
  • Python : 다양한 플랫폼에서 사용 가능하고 라이브러리가 풍부함
  • Javascript : 웹 브라우저 내에서 주로 사용

(4) 선언형 언어

  • 함수형 언어
    • Haskell : 재귀 함수나 대수적 자료형 지원
    • LISP : 수학 표기법을 나타내기 위한 목적
  • 논리형 언어
    • Prolog : 논리식을 기반으로 객체 간 관계에 관한 문제를 해결하기 위해 사용
  • 특수 분야 언어
    • SQL : 관계형 데이터베이스 관리 시스템의 데이터를 관리하기 위해 사용

3. 객체지향 프로그래밍

(1) 구성요소

  • 객체(Object) : 클래스의 인스턴스
    • 개체(Entity) : 현실 세계에 보이는 본질
    • 속성(Attribute) : 자료 저장소, 절차 지향 프로그래밍의 변수와 대응
    • 메서드(Method) : 호출 단위, 절차 지향 프로그래밍의 함수와 대응
  • 클래스(Class) : 객체를 표현하는 추상 데이터 타입으로 객체를 생성하는 틀
  • 메시지(Message) : 객체 간 통신

(2) 오버로딩과 오버라이딩

  • 오버로딩(Overloading)
    동일 이름의 메소드를 여러 개 정의할 수 있는 특성

  • 오버라이딩(Overriding)
    하위 클래스에서 상위 클래스의 메소드를 재정의할 수 있는 특성

(3) 인터페이스와 추상 클래스

  • 인터페이스(Interface) : 자바의 다형성을 극대화하여 개발코드 수정을 줄이고 프로그램 유지보수성을 높이기 위한 문법

  • 추상 클래스(Abstract Class) : 미구현 추상 메소드를 하나 이상 가지며 자식 클래스에서 해당 추상 메소드를 반드시 구현하도록 강제하는 문법

  • 공통점
    • 선언만 있고 구현 내용은 없는 클래스
    • 자식 클래스만이 객체를 생성할 수 있음
  • 차이점
    • 인터페이스는 implements라고 쓰며, 추상 클래스는 extends라고 씀



🧀 라이브러리


1. 개념

효율적인 프로그램 개발을 위해 필요한 프로그램을 모아 놓은 집합체로 모듈화되어 제공되는 프로그램


2. 구성

  • 도움말 : 라이브러리를 이해하기 쉽도록 설명해 놓은 문서
  • 실행 파일 : 라이브러리를 적용하기 위해 제공되는 파일
  • 샘플 코드 : 라이브러리를 이해하고 적용하기 위해 제공되는 소스 코드

3. 종류

  • 표준 라이브러리 : 프로그래밍 언어가 기본적으로 가지고 있는 라이브러리
  • 외부 라이브러리 : 별도의 파일을 설치해 사용하는 라이브러리

4. 기능

  • 문자열 연산 기능
  • 문자열 탐색 및 치환 기능
  • 수치 계산 기능
  • 난수 생성 기능
  • 파일 경로 조작 기능
  • 날짜 조작 기능
  • 로그 출력 기능

5. 모듈과 패키지

  • 모듈(Module) : 전역변수, 함수 등을 모아 둔 파일
  • 패키지(Package) : 모듈을 디렉터리 형식으로 구조화한 라이브러리




🐭 참고문헌

  • NCS 정보처리기술사 연구회. (2020). 수제비 정보처리기사 실기 (2판). 건기원.

0개의 댓글