컴파일 언어
1. 작성된 소스 코드를 모두 컴파일하여 기계어로 변환 후 실행하는 방식이다.
2. 소스 코드를 기계어로 변환하는 빌드 과정에서 인터프리터 언어에 비해 시간이 소요되지만 모든 코드가 기계어로 변환되어 있기에 실행 시간이 빠르다.
3. 프로그램 전체를 보고 한 번에 컴파일(번역)하기에 속도는 빠르지만 중간에 에러가 있는 경우 프로그램 자체가 실행이 되지 않는다.
4. C, C++, C#, JAVA 등이 컴파일 언어에 속한다.
인터프리터 언어
1. 인터프리터기에 의해 번역하는 방식으로 소스 코드를 실시간으로 한 줄씩 읽어서 동시에 번역 및 실행하는 언어이다.
2. 소스코드를 한 문장씩 읽어서 실행하기에 중간에 에러가 있더라도 에러를 만나기 전까지는 프로그램이 동작하며 에러가 만났을 경우에 프로그램이 중지한다.
3. 컴파일을 하지 않고 프로그램 실행 시 한 줄씩 읽으면서 실행하기에 컴파일 언어에 비해 속도가 느리다.
4. 실행 속도는 컴파일 언어에 비해 느리지만 인터프리터 언어는 빌드 과정없이 바로 실행이 가능하다.
5. Ruby, Python 등이 인터프리터 언어로 스크립트 언어들이 속한다.
(인터프리터 : 고급 언어로 작성된 프로그램을 한 줄 단위로 받아들여 번역하고, 번역과 동시에 프로그램을 한 줄 단위로 즉시 실행시키는 프로그램)
빌드 과정 이란?
소스 파일을 하나의 실행 파일로 만들어지는 과정이며 고급언어(JAVA)를 저급언어(기계어)로 변환 하는 과정이다.
컴파일러는 이러한 빌드 과정을 거친 후 실행을 하고 인터프리터 언어는 빌드 과정없이 인터프리터에 의해 한 줄씩 읽어서 실행한다.
'언어 > JAVA' 카테고리의 다른 글
[JAVA] Comparable [compareTo()] 와 Comparator [compare()]의 차이점 (0) | 2021.03.02 |
---|---|
[JAVA] import와 static import 차이는??? (0) | 2021.02.28 |
[JAVA] 문자열 첫 글자를 대문자로 바꾸기 (0) | 2021.02.23 |
[JAVA] File.separator로 파일 구분자 사용하기 (0) | 2021.02.18 |
[JAVA] 객체 지향 언어의 특징 (0) | 2021.01.18 |