Develop/Web

Web #12. 런타임(Runtime)과 컴파일타임(Compile time)

ZunoXI 2021. 6. 5.

개요

런타임과 컴파일타임에 대한 이해

Runtime, Compile time?

흔히 개발을 하다보면 런타임과 컴파일타임이라는 용어를 많이 접하는데, 필자같은 경우는 에러가 날때 런타임 오류, 컴파일 오류 이런식으로 해당 용어를 접했다. 해당 포스팅에서는 이러한 용어들이 무엇을 의미하는지 알아본다.

 

1. 런타임과 컴파일타임

 

런타임(Runtime) 은 컴파일 과정을 마친 프로그램이 사용자에 의해 실행될때의 환경 또는 시간이다. 예를 들자면 자바스크립트는 Web Browser에서 작동할때, Node.js에서 작동할때, Browser와 Node.js를 런타임이라 할 수 있다.

 

컴파일타임(Compile time)은 먼저 컴파일에 대한 이해가 먼저인데, 컴파일은 원시코드에서 목적코드로 옮기는 과정을 말하며 일반적으로 사람이 이해하기 쉬운 자연어 형태(고수준 언어)를 기계어, 어셈블리어(저수준 언어)로 변역하는것이다.

 

컴파일타임 이라는 것은 이렇게 프로그램을 위한 소스코드를 작성하고 이를 컴파일 하여 기계어코드로 변환하는 일련의 과정을 의미한다. 즉, 컴파일이 진행되는 과정 을 컴파일타임이라고한다.

 

2. 런타임에러와 컴파일에러

 

먼저 컴파일에러 는 단어그대로 컴파일을 수행할때 발생하는 에러이다. 일반적으로 컴파일에러를 발생시키고 문제를 일으킨 소스코드 라인을 지시하게된다.

다음과 같은경우에 발생한다.

  • Systax Error
  • Type 체크 에러
  • 문법 or 파일참조과정에서의 오류

 

런타임에러 는 보통 컴파일과정을 거쳐 실행가능한 프로그램이라고 판단되어도 오류를 맞이할 수 있으며 이런경우를 실제 실행환경에서의 오류. 즉, ‘런타임에러’ 라고 부른다.

다음과 같은 경우에 발생한다.

  • 0나누기 오류
  • Null 참조 오류
  • 메모리 부족 오류
반응형

'Develop > Web' 카테고리의 다른 글

Web #11. Node.js란? Node.js 개념  (0) 2021.06.04
Web #10. Mode1패턴과 Model2패턴  (0) 2021.06.04
Web #9. Servlet과 JSP  (0) 2020.08.11
Web #8. EJB에대한 이해  (0) 2020.06.24
Web #7. 스프링부트(Spring-boot) jar 파일 만들기  (0) 2020.06.24

댓글