쉽게 이해하기
return x를 만나면 돌려줄 값이 먼저 정해집니다. finally에서 지역 변수 x를 바꿔도 이미 계산한 정수 반환값은 바뀌지 않습니다. finally 안에 새로운 return이 있으면 앞의 반환을 덮어쓰므로 별도로 추적해야 합니다.
눈으로 따라가기
return 값을 보관 → finally 실행 → 보관한 값 반환
class Helper { static int f(){int x=2;try{return x;}finally{x+=10;System.out.print(x+" ");}} }
public class Main {
public static void main(String[] args) {
System.out.print(Helper.f());
}
}시험 함정
프로세스 강제 종료까지 포함해 finally가 언제나 실행된다고 단정하지 않습니다.
함께 보는 관련 주제
비슷한 개념의 핵심과 함정을 이 페이지에서 비교합니다.
즉시 문제 · 4개
정답을 제출하면 해설과 관련 개념을 확인합니다. 틀린 문제는 자동으로 오답노트에 저장됩니다.
즉시 3문제관련 문제 전체검증 근거
기술 문서/실행 검증 · 마지막 검증 2026-09-27 · 핵심 코드 추적 유형 · 공식 출제 횟수 집계 없음