자바를 공부하며 항상 등장하는 말은 컴파일과 런타임이다. 하지만 두 용어에 대한 개념이 확실하지 않아 이번 기회에 정리하고 넘어가겠다.

  • Run time : 어떤 프로그램이 실행되는 동안의 Time을 말하며, 이와 대조되는 개념으로는 Compile time, Link time 등이 있다.
  • Runtime Error : 어떤 프로그램이 실행되는 동안에 발생하는 에러를 말한다.
    • 문법상으로는 에러가 없지만 실행시켰을 때 에러가 나는 경우가 있다.
    • ex) NullPointerException
  • Complie time : 고급 언어(프로그래밍 언어)를 기계어로 변경하는 과정을 말한다.
  • Compile Error : 주로 문법상의 오류가 많다.(빨간 줄이 나타나는 경우 컴파일 에러이다. 대부분의 IDE들이 빨간줄 표시로 잡아준다.)
    • 컴파일 에러가 발생하는 경우는 주로 오타, 중괄호의 짝이 맞지 않는 경우, 중복된 변수명 등이 원인이 될 수 있다.

프로그램이 컴파일이 에러 없이 완료되더라도 해당 프로그램 실행 시에 에러가 없을 것을 보장할 수 없다.
즉, 컴파일 에러가 발생하지 않더라도 런타임 에러가 발생할 수 있다.