다음 Java 프로그램의 출력은?
public class Main {
static int f() {
int x = 1;
try {
x += 2;
throw new ArithmeticException();
} catch (ArithmeticException e) {
x *= 3;
return x;
} finally {
x += 4;
System.out.print(x + " " );
}
}
public static void main(String[] args) {
System.out.print(f());
}
}정답 4번
try에서 x는 3이 된 뒤 예외가 발생한다. catch에서 x=9를 반환값으로 평가하지만 메서드가 끝나기 전에 finally가 실행되어 x=13을 먼저 출력한다. 이미 평가된 반환값 9는 바뀌지 않아 전체 출력은 `13 9`다.
콘텐츠 정보
- 자료 유형
- 정처LAB 자체 제작
- 검수 상태
- 내용 검수 완료
- 해설 작성·검수
- 정처LAB 편집 기준
- 최종 검수
- 2026-08-14