티스토리 뷰

Java/기본

001. 프로그램이란

따강아지 2022. 2. 24. 21:20

" 어떤 목적을 달성 하기 위해서 프로그램 언어로 진행 순서를 작성 한 것 "

1. 사전적 의미

  • 목록,  순서, 예정 계획 이란 뜻
  • Rapp & Poertner(1992)  - 특정 목표를 달성하기 위한 활동의 집합체
  • York(1983)  -  목표를 달성하기 위한 일련의 상호 의존적인 활동
  • Smith(1989) – 특정 목표를 달성 하기 위해서 만들어진 조직적인 활동

 

2. 컴퓨터 프로그램

  • 어떤 작업을 하기 위한 일련의 순서를 컴퓨터에게 알려 주기 위한 파일
  • 일련의 순서를 컴퓨터가 이해 할 수 있는 명령어들의 모음 
  • 컴퓨터가 이해 할 수 있는 명령어는 0, 1로 되어 있는데 사람이 이해 할 수 있는 언어를 프로그램 언어라 한다.
  • 두산백과 사전 : 컴퓨터를 실행 시키기 위해 차례대로 작성된 명령어 모음

 

3. 프로그램 종류

  • 시스템 프로그램
    - 컴퓨터 시스템과 하드웨어들을 제어 및 관리 하는 프로그램
    - 예)  윈도우, 리눅스, 장치 드라이버, 컴파일러 등
  • 응용 프로그램 - 사용자가 원하는 기능을 제공하는 프로그램
    - 엑셀, 게임, 워드 등 …..  

 

4. 프로그램과 소프트웨어

  • 프로그램
    - 컴파일된 결과물뿐만 아니라, 프로그래머가 작성한 소스 코드까지도 포함.
  • 소프트웨어
    - 프로그램뿐만 아니라 CD, 설명서, 제품 포장 등 패키지 전체.

 

5. 프로그램 파일 ( .exe )

  • 어떤 목적을 수행 하기 위해 만든 파일 

 

프로그램 실행

6. 프로그램언어

6-1. 의미

  • 컴퓨터 시스템을 구동 시키는 소프트웨어를 작성하기 위한 형식언어
  • 컴퓨터를 이용하여 특정 문제를 해결하기 위한 프로그램을 작성하기 위해 사용되는 언어

 

6-2. 언어종류

  • 저급언어
    - 기계어
      - 컴퓨터가 직접 이해할 수 있는 언어
      - 0과 1의 2진수 형태로 표현되며 수행시간이 빠르다
      - CPU에 내장된 명령들을 직접 사용하는 것으로, 프로그램을 작성하고 이해하기가 어렵다.
      - 기종마다 기계어가 다르므로 언어의 호환성이 없다.
    - 어셈블리어
      - 기계어와 1:1로 대응되는 기호로 이루어진 언어로, 니모닉(Mnemonic) 언어
      - 하드웨어 제어에 주로 사용되며, 언어의 호환성이 없다.
      - 컴퓨터가 직접 이해할 수 없으므로 어셈블리어로 작성된 프로그램은 어셈블러를 사용하여 기계어로 번역해주어야 한다.

 

  • 고급언어
      - 컴파일러 언어 라고도 하며, 인간이 실생활에서 사용하는 자연어와 비슷한 형태 및 구조를 가지고 있다.
      - 하드웨어에 대한 깊은 지식이 없어도 프로그램 작성과 수정이 용이
      - 컴퓨터가 이해할 수 있는 기계어로 번역하기 위해 컴파일러나 인터프리터가 사용
      - 기계어와 어셈블리어를 제외한 C, JAVA, Python등의 언어가 고급언어

 

7. 컴파일러

  • 컴파일러는 고급 언어로 작성된 프로그램 전체를 목적 프로그램으로 번역한 후, 링킹 작업을 통해 컴퓨터에서 실행 가능한 실행 프로그램을 생성
  • 번역 실행 과정을 거쳐야 하기 때문에 번역 과정이 번거롭고 번역 시간 이 오래 걸리지만, 한번 번역한 후에는 다시 번역하지 않으므로 실행 속도가 빠르다.
  • 컴파일러를 사용하는 언어에는 C언어 Java 등

 

8. 인터프리터

  • 인터프리터는 고급 언어로 작성된 프로그램을 한 줄 단위로 받아들여 번역하고, 번역과 동시에 프로그램을 한 줄 단위로 즉시 실행시키는 프로그램.
  • 프로그램이 직접 실행되므로 목적 프로그램은 생성되지 않음
  • 줄 단위로 번역, 실행되기 때문에 시분할 시스템에 유용하며 원시 프로그램의 변화에 대한 반응이 빠르다.
  • 번역 속도는 빠르지만 프로그램 실행 시 매번 번역해야 하므 로 실행 속도는 느리다.
  • CPU의 사용시간의 낭비가 크다.
  • 인터프리터를 사용하는 언어에는 Python, BASIC,  LISP, APL등

 

컴파일러와 인터프린터 차이점

'Java > 기본' 카테고리의 다른 글

006. JVM (Java Virtual Machine)  (0) 2022.02.24
005. 자바 프로그램 구조  (0) 2022.02.24
004. 자바 개발 TOOL 설치  (0) 2022.02.24
003. JAVA 설치  (0) 2022.02.24
002. 자바란  (0) 2022.02.24