ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2020 정보처리기사 필기 : 4과목 : 2장
    Study/정보처리기사 2020. 5. 28. 14:11
    728x90

    2장 : 프로그래밍 언어 활용


    1.     프로그래밍 언어의 분류

    • 절차적 프로그래밍 언어
    • 객체지향 프로그래밍 언어
    • 스크립트 언어
    • 선언형 언어

    2.     절차적 프로그래밍 언어

    • 일련의 처리 절차를 정해진 문법에 따라 순서대로 기술해 나가는 언어.  
    • 자연어에 가까운 단어와 문장으로 구성. 
    • 실행 속도가 빠르다. 
    • 같은 코드를 다른 곳에서 호출하여 사용 가능하다. 
    • 모듈 구성이 용이하다. 
    • 때문에, 구조적 프로그래밍이 가능하다. 
    •  프로그램의 분석 및 수정이 어렵다. 
    • 종류 : C, ALGOL, COBOL, FOTRTRAN

    3.     객체지향 프로그래밍 언어

    • 객체들을 조립해서 프로그램을 작성할 수 있도록 한 프로그래밍 기법. 
    • 재사용과 확장이 용이하다. 
    • 재활용성이 높다. 
    • 분석과 설계를 쉽고, 효율적으로 처리 할 수 있다. 
    • 사용자와 개발자 간의 이해가 쉽다. 
    • 대형 프로그램에 유리하다. 
    • 구조적 코딩 방식의 문제점을 해결하기 위해 등장하였다.  
    • 처리 시간이 지연된다. 
    • 종류 : JAVA, C++, SMALLTALK

    4.     객체지향 프로그래밍 언어의 구성 요소

    이름 설명
    객체 (Object) 데이터 구조와 이를 처리하기 위한 연산을 결합시킨 실체. 
    클래스 (Class) 필드 + 메소드

    같은 특성을 가지는 객체를 표현한 것.
    메시지 (Message) 객체들 사이에서 정보를 교환하기 위한 수단. 
    속성 (Attribute) 객체들이 갖고 있는 데이터의 값, 파일처리에서 객체는 레코드, 속성은 필드와 유사한 개념. 
    메소드 (Method) 객체의 상태를 참조하건나 변경하기 위한 수단  

    5.     객체지향 프로그래밍 언어의 특징

    • 캡슐화
    • 정보 은닉
    • 추상화
    • 상속성
    • 다형성

    6.     스크립트 언어

    • HTML 문서 안에 직접 프로그래밍 언어를 삽입하여 사용하는 것. 
    • 컴파일 되지 않는다.
    • 별도의 번역기가 소스를 분석하여 동작하게 한다. 
    • 결과를 바로 확인할 수 있다. 
    • 코딩 난이도가 낮다. 
    • 개발 시간이 짧다. 
    • 빠르게 수정할 수 있다. 
    • 실행 속도가 느리다. 
    • 런타임 오류가 많이 발생한다. 
    • 종류 : JAVA Script, ASP, JSP, PHP, 파이썬

    7.     명령형 언어

    • 순차적인 명령 수행을 기본으로 하는 언어. 
    • 문제를 처리하기 위한 방법에 초점을 둔다. 
    • 폰노이만 구조에 기초한다. 
    • 알고리즘을 명시한다. 
    • 목표는 명시하지 않는다. 
    • 개체의 동작과 상태를 중요시한다. 
    • 종류 : FORTRAN, COBOL, C, JAVA

    8.     선언형 언어

    • 명령형 언어와 반대되는 개념
    • 프로그램이 수행해야 문제를 기술하는 언어이다. 
    • 목표를 명시한다. 
    • 알고리즘은 명시하지 않는다. 
    • 가독성, 재사용성이 좋다. 
    • 오류가 적다. 
    • 종류 : HTML, LISP, PROLOG, XML, Haskell

    9.     선언형 언어의 분류

    • 함수형 언어
      • 수학적 함수를 조합하여 문제를 해결하는 언어. 
      • 재귀호출이 자주 이용된다. 
      • 병렬 처리에 유리하다. 
    • 논리형 언어
      • 기호 논리학에 기반을 둔 언어. 
      • 반복문을 사용하지 않는다. 
      • 비절차적 언어이다. 
    728x90

    댓글

kxmjhwn@gmail.com