I/O 초급

사실상 final인 기존 변수를 try-with-resources에서 직접 사용합니다.

✕ Java 8
Connection conn = getConnection();
// Must re-declare in try
try (Connection c = conn) {
    use(c);
}
✓ Java 9+
Connection conn = getConnection();
// Use existing variable directly
try (conn) {
    use(conn);
}
이 코드에 문제가 있나요? 알려주세요.
🧹

재선언 없음

기존 변수 이름을 직접 사용합니다.

📖

혼동 감소

try 블록 내부에 별도의 변수 이름이 없습니다.

📏

간결함

더 적은 줄, 동일한 리소스 안전성.

이전 방식
변수 재선언
모던 방식
사실상 final
JDK 버전
9
난이도
초급
try-with-resources 개선
사용 가능

JDK 9 (2017년 9월) 이후 널리 사용 가능

Java 9는 사실상 final인 변수를 재선언 없이 try-with-resources에서 직접 사용할 수 있게 합니다. try 블록 외부에서 리소스가 생성된 경우 더 깔끔합니다.

공유 𝕏 🦋 in