인프런 커뮤니티 질문&답변

도토리님의 프로필 이미지

작성한 질문수

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

체크 예외 재정의

언체크 예외를 던질 때

작성

·

184

·

수정됨

1

자바 오버라이딩 규칙 중에서 부모보다 같거나 적은 개수의 예외를 던져야 한다고 알고 있습니다. 그런데, Runnable 구현 클래스의 run()에 'throws RuntimeException'을 선언하면 컴파일 오류가 발생하지 않는데 왜 그런건가요? 부모보다 많은 개수의 예외를 던졌으니 컴파일 오류가 발생해야 하는 것 아닌가요..?

제가 무엇을 잘못 알고 있는 걸까요?

답변 2

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 도토리님

강의에서 설명한 것 처럼 언체크(런타임) 예외는 이런 부분에 영향을 받지 않습니다.

따라서 자유롭게 던질 수 있습니다.

영향을 받는 부분은 체크예외입니다.

체크 예외 재정의 부분을 다시 복습해주세요 🙂

감사합니다.

0

지금 교육중 스레드 run() 같은 경우에는 반복문을 통해 한번에 하나씩 진행 되고 이 경우 실행되자마자 런타임오류로 빠져나오기 때문에 다시 반복문이 실행될 때는 첫 실행과 똑같이 하나인 경우가 아닐까 싶습니다 말씀하신 경우는 클래스 안에서 여러개의 예외가 동시에 발생하는 경우를 말씀하시는 게 아닐까 생각되네요 저도 질문하신 거 보고 갑자기 궁금해졌네요 제가 잘못 알고 있는게 있다면 조언을 구해봅니다!