컴파일과 런타임의 차이

Yuri Lee·2020년 10월 26일
0

발표 준비를 하던 도중 .. 내가 정말 애매하게 알고 있는 개념이 수도 없이 많다는 것을 깨달았다. 😭😭😭 컴파일과 런타임의 차이 시작~~

컴파일과 런타임

런타임(Runtime)과 컴파일타임(Compiletime)은 소프트웨어 프로그램개발의 서로 다른 두 계층의 차이를 설명하기 위한 용어이다. 프로그램을 생성하기 위해 개발자는 첫째로 소스코드를 작성하고 컴파일이라는 과정을 통해 기계어코드로 변환 되어 실행 가능한 프로그램이 되며, 이러한 편집 과정을 컴파일타임(Compiletime) 이라고 부른다.

컴파일과정을 마친 프로그램은 사용자에 의해 실행되어 지며, 이러한 응용프로그램이 동작되어지는 때를 런타임(Runtime)이라고 부른다.

"런타임"과 "컴파일 타임"이라는 용어는 종종 서로다른 두 가지 타입의 에러를 나타내기 위해 사용되어지곤 하는데, 컴파일 타임 에러는 프로그램이 성공적으로 컴파일링되는 것을 방해하는 신텍스에러(Syntax error)나 파일참조 오류와 같은 문제를 말하며, 이런 경우 컴파일러는 컴파일 타임 에러를 발생시키고 일반적으로 문제를 일으킨 소스코드 라인을 지시해준다.

만약, 어떤 소스코드가 이미 실행가능한 프로그램으로 컴파일 되었다 할지라도 이것은 여전히 프로그램의 실행중에 버그를 일으킬 수 있다. 예를 들자면, 예상치 못한 오류 또는 충돌로 동작하지 않을 수 있는데 이렇게 프로그램이 실행중에 발생하는 형태의 오류를 런타임오류 라고 한다.

컴파일타임 오류의 유형

  • 신택스 오류
  • 타입체크 오류

런타임 오류의 유형

  • 0나누기 오류
  • 널(Null)참조 오류
  • 메모리 부족 오류

웹프로그래밍에서는 프론트엔드(Front End)와 백엔드(Back End) 또는 클라이언트 사이드(Client Side)와 서버 사이드(Server Side)로 더욱 세분화 되는데, 프론트엔드는 사용자의 브라우저에서 해석되는 소스코드를 의미하며, 서버사이드는 웹서버에서 해석되는 소스코드를 의미한다.


출처: https://spaghetti-code.tistory.com/35 [어떻게 짤것인가]

profile
Step by step goes a long way ✨

0개의 댓글