본문 바로가기
Computer Science/정보처리기사

[정보처리기사-실기] 6장 프로그래밍 언어 활용

by eyi-jin 2022. 4. 27.

순서
CH01 언어특성 활용

<CH01언어특성 활용>

절차적(Procedural) 프로그래밍 언어

프로시저 호출의 개념을 바탕으로 하고 있는 프로그래밍 언어

특징

  • 유지보수 용이
    (그러나 객체지향의 유지보수가 상대적으로 용이)
  • 코드 재사용 가능
  • 흐름 파악 용이
  • 모듈화,구조화 가능

예시

ALGOL(알골), C언어, FORTRAN(포트란)

객체지향(Object Oriented) 프로그래밍 언어

객체지향 프로그래밍 언어는 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러개의 독립된 단위인 “객체” 중심의 프로그래밍 언어이다.

기능

  • 자료 추상화
  • 상속
  • 다중 상속
  • 다형성
  • 동적 바인딩
  • 접근 제어자(Access Modifier)
허용범위 public protected private default
클래스 내부 O O O O
동일 패키지 O O X O
하위 패키지 O O X X
다른 패키지 O X X X

예시

C++, C#, JAVA(자바), Delphi(델파이)

스크립트(Script) 언어

스크립트 언어는 소스 코드를 컴파일하지 않고 실행할 수 있는 프로그래밍 언어

특징

  • 배우기 쉽다

예시

PHP, Perl(펄), Phython(파이썬), Javascript(자바스크립트), Bash(배시), Basic(베이직)

선언형(Declarative) 언어

선언형 프로그래밍을 사용하여 해법을 정의하기보다는 문제를 설명하는 단어이다.

기능(암기-함순익고 논사규질)

  • 함수형 언어
    • 순수 함수 (Pure Function)
    • 익명 함수(Anonymous Function)
    • 고계 함수(Higher Order Function)
  • 논리형 언어
    • 사실(Facts)
    • 규칙(Rule)
    • 질문(Question)

종류

  • 함수형 언어
    • Haskell(하스켈)
      패턴맞춤, 커링, 조건제시법, 가드, 연산자 정의 등의 기능이 존재하는 함수형 언어
    • LISP(리스프)
      수학 표기법을 나타내기 위한 목적으로 만들어짐. 트리, 가비지 콜렉션, 동적 자료형과 인터프리터와 같은 개념을 제시한다
      함수 호출 시 이름 혹은 연산자가 첫 번째로 위치하여 피연산자가 이어 위치한다.
  • 논리형 언어
    • Prolog(프롤로그)
      논리형 언어로 논리식을 기반으로 객체 간의 관계에 대한 문제를 해결하기 위해 사용.
  • 특수 분야 언어
    • SQL
      RDBMS의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어

라이브러리 활용

프로그램을 효율적으로 개발할 수 있도록 자주 사용하는 함수나 데이터들을 미리 만들어놓은 집합체

구성

도움말, 설치 파일, 샘플 코드

종류

  • 표준 라이브러리
    • 언어에 기본적으로 포함되어 있는 라이브러리로 여러 종류의 모듈이나 패키지 형태
  • 외부 라이브러리
    • 개발자들이 필요한 기능들을 만들어 인터넷에 공유해놓은 것, 다운로드 받아 설치함

기능

입출력, 문자열, 시간 처리, 수학 관련

C언어 표준 라이브러리

  • 헤더파일로 제공, 개발에 필요한 함수들이 정리되어 있음
  • #include<stdio.h>와 같이 include를 선언한 후 사용
헤더 기능
stdio.h 데이터 입출력
printf, scanf, fprintf, fscanf, fclose, fopen  
math.h 수학 함수
sqrt, pow, abs  
string.h 문자열 처리
strlen, strcpy, strcmp  
stdlib.h 자료형 변환, 난수 발생, 메모리 할당
atoi, atof, srand, rand, malloc, free  
time.h 시간 처리에 사용
time, clock  

JAVA 언어 표준 라이브러리

  • 개발에 필요한 메소드들이 클래스로 정리되어 있음
  • 패키지 사용시, import문을 사용해 선언후 사용
    ex) import java.util
  • import로 선언된 패키지 내 클래스 메소드를 사용할 땐 클래스와 매소드를 마침표로 구분하여 사용
패키지 기능
java.lang - 기본인터페이스, 자료형, 예외처리
- import없이 사용 가능  
- String, System, Process, Runtime, Math, Error  
java.util - 날짜 처리, 난수 발생, 복잡한 문자열 처리
- Date, Calender, Random, StringTokenizer  
java.io - 파일 입/출력 관련 기능 및 프로토콜
- InputStream, OutputStream, Reader, Writer  
java.net - 네트워크 관련 기능
java.awt - 사용자 인터페이스(UI) 관련 기능 제공
- Frame, Panel, Dialog, Button, Checkbox  

데이터 입출력(Data Input, Ouput)

프로그램으로 데이터가 입력 및 출력되도록 하기 위한 기법

구성

표준 입력, 표준 출력, 표준 오류

예외처리(Exception Handling)

예외 처리는 오류가 발생 시 오류를 그대로 실행시키지 않고 오류에 대응하는 방법으로 처리하는 프로그래밍 기법

  • 일반적인 처리 루틴은 프로그램 종료, 로그 남기기
  • 조건문을 사용하여 예외 처리 루틴 작성
  • 예외 원인: 컴퓨터 하드웨어 문제, 운영체제 설정 실수, 라이브러리 손상, 사용자 입력 실수, 받아들일 수 없는 연산, 할당하지 못하는 기억장치 접근

JAVA의 예외처리

  • 예외를 객체로 취급, java.lang 패키지에서 제공

예시

try{
    if(예외조건)
        throw 예외;
}catch(타입 예외객체){
    예외처리;
}

프로토타입(Prototype)

속성과 메서드를 다른 클래스의 인스턴스 또는 빈 객체에 추가하는 작업을 덜 수 있는 프로그래밍 스타일

  • 컴파일러에게 사용될 함수에 대한 정보를 미리 알리는 것
    • 함수 호출전 미리 정의되는 경우, 프로토타입 정의 안해도 됨
    • 본문이 없다는 점을 제외하고 함수 형태 동일
    • C언어에서 프로토타입은 main()함수 바깥쪽에 선언함

https://y-oni.tistory.com/204

https://simuing.tistory.com/entry/2021-정보처리기사-필기요약-프로그래밍-언어-활용 

댓글