티스토리 뷰

자바 - Exception - Checked, Unchecked 각각 의미 다시 제대로 정리하기

 

자바 - Exception - Checked, Unchecked 각각 의미 다시 제대로 정리하기

자바에서의 런타입 오류(예외, 에러) 중 하나인 예외에 대해서 좀 더 알아보고자 한다. 예외는 크게 checked Exception 와 Unchecked Exception 이 있다. \ 둘의 차이를 간단하게 설명하자면,▶ 컴파일 과정

kodong8774.tistory.com

 

여기서 자바의 Checked Exception과 Unchecked Exception의 차이에 대해서 정리해보았다. 

그리고 나는 간단하게 

Checked Exception → 컴파일 시점에서 발생하는 예외;
Unchecked Exception → 런타임시점에서 발생하는 예외;

라고 정리했다.

 

하지만, 현재 내가 보고 있는 책에 의하면 이것은 일반적인 오해이다. ( 잘못되었다 )

간단하게 왜 오해인지 말해보겠다.

둘 다 ( Checked Exception, Unchecked Exception) 런타임 시점에서 발생하기 때문이다

(솔직히 둘다 런타임에서 발생하는지는 아직 예외들을 많이 만나보지 않았기에 잘모르겠다...)

 

그렇다면, "진짜" 차이는 뭘까?

 

바로, try-catch문을 강제해야하느냐, 말아야하느냐 이다.

Checked Exception 은 try-catch문을 강제로 사용해야하고,
Unchecked Exception 은 try-catch문을 사용하지 않아도 되도록 만들 수 있다.

 

아래는 대표적인 Checked Exception과 Unchecked Exception의 예시이다. (  GPT 형님 )

 

예를 들어서, nullPointerException (Unchecked Exception)과 은 try-catch 구문을 사용할 수도 있겠지만, 사용하지 않고 우리가 어떻게는 코드를 뚜드려서(?) try-catch 구문을 사용하지 않아도 되도도록 만들 수 있다. 즉, try-catch 구문을 강제하지 않는다.

 

하지만, FileNotFoundException (Checked Exception)같은 경우에는 우리가 코드를 두드린다고 어떻게 되는게 아니다. 즉, try-catch  구문을 강제하는 것이다. 

 

이렇게 try-catch 구문을 강제하냐 안하냐가 바로 Checked Exception과 Unchecked Exception의 차이이다. 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
글 보관함