- 컴파일 에러(compile-time error) : 컴파일 할 때 발생하는 에러 - 런타임 에러 (runtime error) : 실행 할 때 발생하는 에러 - 논리적 에러 (logical error) : 작성 의도와 다르게 동작
1) 컴파일 오류 예시 터미널에서 javac로 컴파일
javac를 이용해서 컴파일하면 에러가 난다. (실행 X)
컴파일러 역할 - 구문 체크 - 번역 - 최적화 (생략된 코드 추가 등)
2) 런타임 에러 예시
해당 코드를 실행하면
해당 오류 발생한다. 터미널에서 실행하면
컴파일은 되지만 실행 시점에서 오류가 발생한다.
3) Java 런타임 에러 종류 (error는 프로그램이 비정상 종료 되지만, 예외 처리는 종료를 막을 수 있다.) 1) 에러 (error) : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 2) 예외 (exception) : 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류
4) 예외처리의 정의와 목적 1) 정의 : 프로그램 실행 시 발생할 수 있는 예외읭 발생에 대비한 코드를 작성하는 것 2) 목적 : 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것
구조 설명: 1. Exception: 모든 체크 예외의 최상위 클래스. - RuntimeException: 런타임 예외의 최상위 클래스 (비체크 예외). - NullPointerException: `null` 객체 참조 시 발생. - IllegalArgumentException: 메서드에 부적절한 인자 전달 시 발생. - ArrayIndexOutOfBoundsException: 배열 인덱스 범위 초과 시 발생. - ArithmeticException: 수학적 오류 발생 시 (예: 0으로 나누기). - IOException: 입출력 작업 중 발생하는 예외. - FileNotFoundException: 파일을 찾을 수 없을 때 발생. - EOFException: 파일 또는 데이터 스트림 끝에 도달 시 발생.