태그 보관물: J2SE

컴파일 오류와 런타임 오류

컴파일 오류

컴파일 오류란 소스코드를 .class 파일로 컴파일하는 과정에서 JVM이 던지는 오류로서, 대부분 소스코드 자체의 문법적 오류로 인해 발생하는 경우가 대부분이며, 프로그램 자체에서 처리할 방법은 없다. 그러므로 프로그램이 만들어지려면 이런 오류를 반드시 수정해야 한다.

컴파일 오류의 예

  • ClassNotFoundException
  • IllegalAccessException
  • NoSuchMethodException 등

런타임 오류

런타임 오류란 문법적인 오류가 없어서 컴파일 시에는 정상적으로 프로그램이 만들어졌지만 프로그램을 실행하는 과정에서 발생하는 오류를 의미한다. 런타임 오류는 컴파일 오류와 달리 무조건 잘못된 오류는 아니다. 개발자가 의도하지 않은 실수로 프로그램이 실행되는 중에 발생하는 경우로 예를 들어, 배열의 범위를 넘어서 호출하는 경우와 Null 객체에 대한 어떠한 메소드 호출이 대부분이지만 개발자가 특정 상황에서 의도적으로 오류가 발생하도록 설계하기도 한다.

런타임 오류의 예

  • NullPointException
  • ArithmeticException
  • IndexOutOfBoundsException 등