[Java] 5. 컴파일에러와 런타임에러 차이
컴파일에러와 런타임에러 차이
컴파일타임 에러 (Compile-time Error)
- 컴파일 시 발생하는 에러
- 컴파일러는 구문 오류로 프로그램을 컴파일 할 수 없다.
- 대체로 문법상의 에러
- 에러가 발생한 부분을 알려준다.
- 컴파일에러 예
- ’;’ 이 누락 된 문법 에러 (systax 오류)
- 괄호가 안 맞는 등 구문 에러
- classpath에 누락 된 클래스(컴파일시)
런타임 에러 (Run-time Error)
- 실행 시 발생하는 에러
- 프로그램이 컴파일 된 후 실행하면서 에러 발생
- 대체로 개발 시 설계 미숙(논리적)으로 발생하는 에러
- 에러 발생 시 프로그래머가 역추적해서 원인 확인해야함
- 런타임에러 예
- NullPointerException
- 무한루프
- 0으로 나누는 경우 등
참고:
https://cocomo.tistory.com/209
https://codedragon.tistory.com/3509