728x90
SMALL
컴파일
컴파일 특징
- 컴파일 프로그램을 이용하여 컴파일한다.
- 실행 파일이 만들어진다.
- 실행 파일을 실행시킨다.
- 속도가 빠르다.
- C++, C, 자바 등이 있다.
- A 운영체제에서 만든 프로그램을 B 운영처제에서 돌릴 경우, 돌아가지 않을 가능성이 아주 크다(ex int값이 달라지는 경우)
- 모든 코드를 한번에 번역(컴파일)하고, 한번에 실행한다. 그래서 번역과 실행이 따로 이루어진다.
컴파일 장점
- 초기 스캔은 오래걸리지만, 한번 스캔을 마치면 실행파일을 만들어 놓고 계속 사용하기 때문에 실행속도는 인터프리터보다 빠르다.
- 컴파일러는 오류 메시지를 생성할때 전체 코드를 검사한 후에 오류 메시지를 생성한다. 그래서 프로그램 실행 전에 오류를 발견 할 수 있다.
컴파일 단점
- 프로그램을 실행하는데 필요한 모든 파일을 스캔하기 때문에 초기 스캔시간이 오래걸린다.
- 컴파일러는 기계어로 번역시 오브젝트 코드(Object Code)라는 파일을 만드는데 이 오브젝트 코드를 다시 묶어서 하나의 실행 파일로 다시 만드는 링킹(Linking) 작업을 해야한다. 따라서 통상적으로 인터프리터 보다 메모리를 많이 사용한다.
인터프리터
인터프리터(interpreter, 해석기)는 프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램 또는 환경을 말한다. 원시 코드를 기계어로 번역하는 컴파일러와 대비된다.
인터프리터 특징
- 인터프린터는 고급 언어로 작성된 프로그램을 한 줄 단위로 번역한다. 번역과 동시에 한 줄 달위로 즉시 실행시키는 프로그램입니다.
- 줄 단위로 번역, 실행되기 때문에 시분할 시스템에 유용하며 원시 프로그램의 변화에 대한 반응이 빠르다.
- 번역 속도는 빠르지만 프로그램 실행 시 매번 번역해야 하므로 실행 속도는 느리다.
- 인터프리터를 사용하는 언어에는 Python, 자바스크립트 , BASIC 등이 있다.
- CPU의 사용 시간의 낭비가 크다.
인터프리터 장점
- 컴파일러처럼 목적코드를 만들지도 않고, 링킹 과정도 거치지 않기 때문에 메모리 효율이 좋다.
- 코드 변경시 빌드 과정없이 바로 실행이 가능, 따라서 개발 속도에 장점이 있다.
인터프리터 단점
- 컴파일러와 다르게 한번에 한 문장씩 읽고 번역하여 실행시키는 과정을 반복하다보니 실행이 조금 더 느리다.
- 한번에 한 문장씩 읽기때문에 프로그램을 실행해봐야지만 오류 발견이 가능
728x90
LIST
'자바 > 개념' 카테고리의 다른 글
[Java] replaceAll 정규 표현식 사용방법 (0) | 2024.12.10 |
---|---|
[Java] 디폴트 메서드(Default Method) 란? (1) | 2024.04.12 |
[Java] 함수형 인터페이스(Functional Interface) 란? (0) | 2024.04.11 |
JIT(JUST IN TIME) 란? (0) | 2024.04.04 |
Call by Value, Call by Reference 란? (0) | 2024.04.04 |