프로그램 오류
프로그램이 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우가 있다. 이러한 결과를 초래하는 원인을 프로그램 에러 또는 오류라고 한다.
발생 시점에 따라 '컴파일 에러' 와 '런타임 에러' 로 나눌 수 있다.
- 컴파일 에러 ==> 컴파일 시에 발생하는 에러 .java => .class
- 런타임 에러 ==> 실행 시에 발생하는 에러
- 논리적 에러 ==> 싱행은 되지만, 의도와 다르게 동작하는 것
컴파일 에러 : 컴파일러가 소스코드에 대해 오타나 잘못된 구문, 자료형 체크 등의 기본적인 검사를 수행하여 오류가 있는지를 알려준다. 컴파일러가 알려 준 에러들을 모두 수정해서 컴파일을 성공적으로 마치고 나면, 클래스파일이 생성되고, 생성된 클래스 파일을 실행할 수 있게 된다.
런타임 에러 : 컴파일이 잘 되어도 프로그램 실행 도중에 에러에 의해서 잘못된 결과 또는 프로그램이 비정상 적으로 종료되는 것 등등 여러가지...
런타임 에러를 방지하기 위해서는 프로그램의 실행도중 발생할 수 있는 모든 경우의 수를 고려하여 이에 대한 대비를 하는 것이 필요하다. 자바에서는 런타임 시 발생할 수 있는 프로그램 오류를 '에러'와 '예외' 두가지로 구분했다.
에러 ==> 메모리 부족이나 스택오버플로우와 같이 일단 발생하면 복구할 수 없는 심각한 오류
예외 ==> 발생하더라도 수습될 수 있는 비교적 덜 심각한 것
에러가 발생하면, 프로그램의 비정상적인 종료를 막을 길이 없다. 그치만 예외는 발생하더라도 프로그래머가 이에 대한 적절한 코드를 미리 작성해 놓음으로써 프로그램의 비정상적인 종료를 막을 수 있다.
예외처리의 정의와 목적
정의 ==> 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것
목적 ==> 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것
'JAVA' 카테고리의 다른 글
[JAVA] 예외 처리 (3) (0) | 2023.06.13 |
---|---|
[JAVA] 예외 처리 (2) (0) | 2023.06.13 |
[JAVA] 인터페이스 다형성 (0) | 2023.06.01 |
[JAVA] 디폴트 메서드와 static 메서드 (0) | 2023.06.01 |
[JAVA] 인터페이스 (0) | 2023.06.01 |