에러(Error)
정의
프로그램 코드에 의해서 수습될 수 없는 심각한 오류
종류
컴파일 에러: 컴파일시에 발생하는 에러
런타임 에러: 실행시에 발생하는 에러
메모리 부족(OutOfMemoryError)
스택 오버플로우(StackOverFlowError)
메모리 누수(Memory Leak)
참조 오류(OutOfBounds)
예외(Exception)
정의
프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 (예외 클래스를 통해서 수습이 가능함)
종류
Exception 클래스: 사용자의 실수와 같은 외적인 요인에 발생하는 예외
RuntimeException 클래스: 프로그래머의 실수로 인해 발생하는 예외
예시
Exception
존재하지 않은 파일의 이름을 입력했을 때
실수로 클래스 이름을 잘못 적었을 때
RuntimeException
배열의 범위를 벗어난 경우
null인 참조변수의 맴버를 호출하려고 할 때
클래스간의 형변환을 잘못했을 때
정수를 0으로 나누려 할 때