[Java] 5. 컴파일에러와 런타임에러 차이


컴파일에러와 런타임에러 차이


컴파일타임 에러 (Compile-time Error)


  • 컴파일 시 발생하는 에러
  • 컴파일러는 구문 오류로 프로그램을 컴파일 할 수 없다.
  • 대체로 문법상의 에러
  • 에러가 발생한 부분을 알려준다.
  • 컴파일에러 예
    • ’;’ 이 누락 된 문법 에러 (systax 오류)
    • 괄호가 안 맞는 등 구문 에러
    • classpath에 누락 된 클래스(컴파일시)


런타임 에러 (Run-time Error)


  • 실행 시 발생하는 에러
  • 프로그램이 컴파일 된 후 실행하면서 에러 발생
  • 대체로 개발 시 설계 미숙(논리적)으로 발생하는 에러
  • 에러 발생 시 프로그래머가 역추적해서 원인 확인해야함
  • 런타임에러 예
    • NullPointerException
    • 무한루프
    • 0으로 나누는 경우 등

참고:
https://cocomo.tistory.com/209
https://codedragon.tistory.com/3509