728x90
✔️ 컴파일(Compile) 이란?
컴파일(compile)은 개발자가 프로그램을 위해 작성한 소스 코드를 다른 프로그램 또는 기계(Hardware)가 처리하기 용이한 형태로 바꾸는 과정을 의미한다.
- 컴파일 언어에는 Java, C, C++ 등이 있으며, 실행(런타임)되기 위해서는 반드시 컴파일(Compile) 과정을 거쳐야한다.
- C, C++ 컴파일러에서는 기계어로 번역된 실행 파일(예: .exe 파일)이 생성된다.
- 자바 같은 경우는 소스 코드가 바이트코드로 변환되어 .class 파일로 저장된다.
- 반면에, JavaScript, Php, Python 같은 언어들은 스크립트 언어이며 컴파일 과정없이 기계어로 번역되는 즉시 동작된다.
- 컴파일을 진행하는 일련의 과정을 컴파일 타임이라고 한다.
- 언제 발생?: 프로그램 실행 이전에 발생
- 컴파일 오류(Compile Error) : 컴파일(Compile) 도중 발생하는 오류
- 주로 문법 오류, 타입 오류로 인해 일어난다.
ex) 변수를 선언했지만 그 변수의 데이터 타입을 명시하지 않았을 때, 즉 문법이 틀렸을 때 SyntaxError이 발생한다.
✔️ 런타임(Runtime) 이란?
런타임(Runtime)은 컴파일(compile) 과정을 마친 응용 프로그램이 사용자에 의해 실행되어 지는 때 즉, exe파일을 동작시키는(실행 버튼을 누를때) 과정
- 프로그램이 실행되면서 발생하는 모든 동작(메모리 관리, 예외 처리, 함수 호출, 객체 생성, 가비지 컬렉션 등)이 런타임에 이루어진다.
- 프로그램이 실행될 때 운영체제와 런타임 환경(JVM)이 관리한다.
- 언제 발생? : 프로그램 실행되는 동안 발생한다.
- 런타임 오류(Runtime Error): 런타임(Runtime) 프로그램 실행 도중 발생하는 오류.
- 예를 들어, 배열의 범위를 넘는 인덱스 접근, 0으로 나누기, 메모리 부족 등이 있다.
ex) 0 으로 값을 나누는 경우 런타임 에러를 발생시킨다.
➕ vs 프로그램 실행
런타임은 프로그램이 실행되는 동안의 상태나 환경을 의미하며, 프로그램이 코드를 실행할 때 발생하는 모든 일들을 포괄한다.
프로그램 실행은 컴퓨터가 프로그램의 코드를 실제로 실행하는 과정을 의미하며, 프로그램의 실행은 런타임 환경에서 이루어진다.
728x90
'CS 지식' 카테고리의 다른 글
VPN이란? IPsec VPN vs SSL VPN (0) | 2025.04.04 |
---|---|
[CS 스터디 질문] 자바의 메모리 & 변수 (1) | 2024.09.05 |