Source file 전체를 한꺼번에 번역해 Object file을 생성
컴파일 단계와 실행 단계가 분리
Linker가 Object file과 Libary files를 Linking하여 Execute file 생성
💡 Source file(.cpp 등) → Object file(.obj 등) → Execute File(.exe)
실행 시 Loader가 Execute file을 메모리에 Load
오류 존재 시 아예 실행이 안됨
장점 : 한 번의 컴파일을 거치면 되므로 실행속도가 빠름
단점 : 코드 길이가 길 경우 컴파일 시간이 오래 걸림
C++, C, JAVA
Source code를 한 줄씩 번역
한 줄이 명령어 단위이므로 명령 한 줄이 함수인 경우가 많음(함수언어라고도 한다)
오류 존재 시 해당 줄 전까지는 실행이 됨
장점 : 한 줄씩만 실행이 가능하므로 빈번한 수정이 일어나는 코드에 적합
단점 : 전체 코드 실행 시 컴파일러 언어에 비해 실행속도가 느림
Ruby, Python, Javascript