728x90
순서 : compile -> runtime
🔥 컴파일(Compile)
- 개발자가 작성한 코드를 기계가 이해할 수 있는 언어(기계어)로 바꾸어 주는 과정을 말한다
- Java, C, C++ 같은 언어들이 컴파일 언어이며 실행(런타임)되기 위해서는 반드시 컴파일 과정을 거쳐야 한다
🔥 런타임(Runtime)
- 프로그램을 run 시킨다고 생각하면 쉽다. 말 그대로 사용자가 컴파일된 프로그램을 실행시키는 시간이다
🔥 런타임 환경(Runtime environment)
- 컴퓨터가 실행되는 동안 프로세스나 프로그램을 위한 소프트웨어 서비스를 제공하는 가상 머신의 상태이다. 쉽게 말하면 런타임 환경은 프로그래밍 언어가 구동되는 환경이다
- 예시) JAVA의 런타임 환경은 JRE(JAVA RUNTIME ENVIRONMENT)이다. JAVA가 실행될 수 있도록 서비스를 제공해 준다
- 자바스크립트가 브라우저에서 실행된다면 자바스크립트의 런타임 환경은 브라우저일 것이고, Node.js에서 실행된다면 런타임 환경은 Node.js이다
🔥 컴파일 에러
- 소스코드가 컴파일되는 과정 중에 발생하는 Syntax error, 파일 참조 오류 등과 같은 문제들로 인해 컴파일이 방해되어 발생하는 오류들을 의미한다
- 컴파일러가 이해하지 못하는 코드를 발견할 때 발생하는 에러이며 현재 문제가 되는 소스 코드를 알려준다
🔥 런타임 에러
- 이미 컴파일이 완료되어 프로그램이 실행 중임에도 불구하고, 의도치 않은 예외 상황으로 인하여 프로그램 실행 중에 발생하는 오류이다
- 런타임 에러는 컴파일 중에는 감지하지 못하는 에러이다
- 프로그램 작성 시 설계 미숙으로 인해 에러가 나는 경우이다
에러 종류
런타임 에러 | 컴파일 에러 |
0 나누기 error | Syntax error |
널(NULL) 참조 error | Type check error |
메모리 부족 error |
728x90
'프로그래밍 기본 개념' 카테고리의 다른 글
빌드(Build), 배포(Deploy) (0) | 2024.07.31 |
---|---|
바이너리(Binary)란? (0) | 2024.07.31 |
HTTP와 HTTPS의 차이점 (0) | 2024.07.13 |
도메인과 URL 차이점 (0) | 2024.07.13 |
www 약자 (0) | 2024.07.13 |