1.1 프로그램 오류
오류와 에러 구분
에러 종류
- 컴파일 에러: 컴파일 시 발생하는 에러
- 런타임 에러: 실행 시 발생하는 에러
- 논리적 에러: 실행은 되지만 의도와 다르게 동작하는 것
실행(runtime)시 발생할 수 있는 프로그램 오류를 exception
와 error
두 가지로 구분

- 에러와 예외 차이는 개발자가 애플리케이션에서 처리할 수 있느냐 아니냐의 차이
1.2 예외 클래스의 계층구조
실행 시 발생할 수 있는 오류(exception
와 error
) 를 클래스로 정의

예외 클래스

- 예외의 최고 조상은
Exception
클래스
- 예외 클래스를 크게 두 그룹으로 나눌 수 있음
Exception
클래스와 그 자손들 (런타임예외 제외)
- 주로 외부의 영향으로 발생할 수 있는 것들로 사용자들의 동작에 의해 발생하는 경우가 많음
- ex. 존재하지 않은 파일의 이름을 입력
- ex. 데이터 형식이 잘못됨
RuntimeException
클래스와 그 자손들
- 주로 개발자의 실수에 의해 발생될 수 있는 예외로 자바의 프로그래밍 요소와 관계가 깊음
- ex. 배열의 범위 벗어남
- ex. 값이 null인 참조변수의 멤버를 호출
- ex. 정수를 0으로 나눌려고 함
1.3 예외처리하기 -try-catch문