← 회차 전체 문제정처LAB 자체 제작내용 검수 완료정처LAB 정보처리기사 필기 자체 제작 2회 · 프로그래밍 언어 활용 · Java 예외 · 74번
다음 Java 메서드를 호출했을 때 출력되는 값은?
static int value() {
try {
return 3;
} finally {
return 5;
}
}
System.out.print(value());
- 1
2
오답 이유2는 코드 어디에서도 계산되지 않는 값으로 try와 finally의 두 return 중 어느 쪽에도 해당하지 않는다. - 2
3
오답 이유3은 try가 준비한 반환값이지만 메서드 종료 전에 실행된 finally의 return이 이를 대체한다. - 3
5
정답 근거finally의 `return 5`가 기존 반환을 덮어쓰므로 5가 정답이다. - 4
컴파일 오류
오답 이유Java 문법상 finally에서 return을 쓸 수는 있으므로 컴파일 오류는 아니지만 예외·반환을 숨겨 권장되지 않는다.
정답·상세해설정답 3번
try에서 반환값 3을 준비해도 finally의 return이 그 반환을 덮어쓴다. 따라서 실제 반환값은 5이며, 예외나 기존 반환을 숨길 수 있어 finally에서 return을 사용하는 코드는 피해야 한다.
콘텐츠 기록콘텐츠 정보
- 자료 유형
- 정처LAB 자체 제작
- 검수 상태
- 내용 검수 완료
- 최종 검수
- 2026-08-16