작성
·
184
·
수정됨
1
자바 오버라이딩 규칙 중에서 부모보다 같거나 적은 개수의 예외를 던져야 한다고 알고 있습니다. 그런데, Runnable 구현 클래스의 run()에 'throws RuntimeException'을 선언하면 컴파일 오류가 발생하지 않는데 왜 그런건가요? 부모보다 많은 개수의 예외를 던졌으니 컴파일 오류가 발생해야 하는 것 아닌가요..?
제가 무엇을 잘못 알고 있는 걸까요?
답변 2
1
안녕하세요. 도토리님
강의에서 설명한 것 처럼 언체크(런타임) 예외는 이런 부분에 영향을 받지 않습니다.
따라서 자유롭게 던질 수 있습니다.
영향을 받는 부분은 체크예외입니다.
체크 예외 재정의 부분을 다시 복습해주세요 🙂
감사합니다.
0
지금 교육중 스레드 run() 같은 경우에는 반복문을 통해 한번에 하나씩 진행 되고 이 경우 실행되자마자 런타임오류로 빠져나오기 때문에 다시 반복문이 실행될 때는 첫 실행과 똑같이 하나인 경우가 아닐까 싶습니다 말씀하신 경우는 클래스 안에서 여러개의 예외가 동시에 발생하는 경우를 말씀하시는 게 아닐까 생각되네요 저도 질문하신 거 보고 갑자기 궁금해졌네요 제가 잘못 알고 있는게 있다면 조언을 구해봅니다!