초급의 끄적거림

[Spring] 런타임과 컴파일타임의 차이 본문

Framework/Spring

[Spring] 런타임과 컴파일타임의 차이

codingD 2020. 3. 8. 14:33

1. 런타임과 컴파일타임의 차이

런타임(Runtime)과 컴파일타임(Compiletime)은 소프트웨어 프로그램개발의 서로 다른 두 계층의 차이를 설명하기 위한 용어이다. 프로그램을 생성하기 위해 개발자는 첫째로 소스코드를 작성하고 컴파일이라는 과정을 통해 기계어코드로 변환 되어 실행 가능한 프로그램이 되며, 이러한 편집 과정을 컴파일타임(Compiletime) 이라고 부른다.
컴파일과정을 마친 프로그램은 사용자에 의해 실행되어 지며, 이러한 응용프로그램이 동작되어지는 때를 런타임(Runtime)이라고 부른다.
"런타임"과 "컴파일 타임"이라는 용어는 종종 서로다른 두 가지 타입의 에러를 나타내기 위해 사용되어지곤 하는데, 컴파일 타임 에러는 프로그램이 성공적으로 컴파일링되는 것을 방해하는 신택스에러(Syntax error)나 파일참조 오류와 같은 문제를 말하며, 이런 경우 컴파일러는 컴파일 타임 에러를 발생시키고 일반적으로 문제를 일으킨 소스코드 라인을 지시해준다.
만약, 어떤 소스코드가 이미 실행가능한 프로그램으로 컴파일 되었다 할지라도 이것은 여전히 프로그램의 실행중에 버그를 일으킬 수 있다. 예를 들자면, 예상치 못한 오류 또는 충돌로 동작하지 않을 수 있는데 이렇게 프로그램이 실행중에 발생하는 형태의 오류를 런타임오류 라고 한다.

 

2. 컴파일타임 


  • 정의 :  컴파일 과정을 통해 기계어 코드로 변환되어 실행 가능한 프로그램이 되는데 이러한 편집 과정을 의미함
  • 오류 유형
    • 신택스 오류
    • 타입 체크 오류

 

 3. 런타입


  • 정의 : 컴파일 과정을 마친 프로그램이 동작 되어 질 때
  • 오류 유형
    • 0 나누기 오류
    • 널 (NULL) 참조 오류
    • 메모리 부족 오류
Comments