[Java] try-with-resource๋ฌธ
์ด์ ์์ธ์ฒ๋ฆฌ ํฌ์คํ ์์, finally๋ฌธ์ ์ฐ๊ฒฐ์ ๋๊ฑฐ๋ ์์์ ์ ๋ฆฌํ ๋ ์์ฃผ ์ด๋ค๊ณ ํ์๋ค.
์์๋ฅผ ๋ค๊ธฐ ์ํด ์ด๊ณ ๋ซ์์ ์๋ Door ํด๋์ค๋ฅผ ์ ์ํด๋ณธ๋ค.
์ด๊ฑด ํ๋ก๊ทธ๋จ์ด ์ข
๋ฃ๋๋ฉด ๋ฐ๋์ ๋ซํ์ผ ํ๋ค.


๊ทธ๋ผ ์ด๋ฐ์์ผ๋ก ์งค ์ ์๋ค.

๊ธฐ๋ํ ๋๋ก ๋์์ ์ ํ๋๋ฐ...
์ฝ๋๊ฐ ๋๋ฌด ์กฐ์กํด๋ณด์ด์ง ์๋๊ฐ?
์ด์ฐจํผ finally์์ ๊ทธ๋ฅ ๋ซ๋๊ฑฐ๋ฐ์ ์ํ๋๋ฐ...
์ ๊ฑธ ์ด๋ป๊ฒ ์ค์ผ๊น ํด์ ๋์จ๊ฒ, ์ด์ ๋ณด์ฌ์ค try-with-resource๋ฌธ์ด๋ค.
AutoCloseable์ด๋ ์ธํฐํ์ด์ค๊ฐ ์๋ค. ์ด๊ฑด void close() ํ๋๋ง์ ๊ฐ์ง๋ค.
์ด๊ฑธ Door์ ๊ตฌํํด๋ณด๊ฒ ๋ค.

์ธํฐํ์ด์ค ์์ ์ธ์ ๋ฌ๋ผ์ง๊ฒ ์๋ค.
์ด๊ฑธ ์ธ๋๋ ์ด์
try(AutoCloseable ์ด๊ธฐํ์...)
{ ... }
catch(...) { ... }
์ด๋ฐ์์ผ๋ก ์ธ ์ ์๋ค.
์ ์ด๊ธฐํ์์์ ์์ฑ๋ ๊ฐ์ฒด๋ค์, try-catch ๊ตฌ๋ฌธ์ด ๋๋ ์์ ์ close๋ฅผ ํธ์ถํ๋ค.

์ด๋ ๊ฒ ๋ง์ด๋ค.
์์ try-catch-finally์๊ณผ ๋์์ ๊ฐ์ง๋ง, ์ฝ๋๊ฐ ํจ์ฌ ๊ฐ๊ฒฐํด์ง ๊ฒ์ ๋ณผ ์ ์๋ค.
๊ฒ๋ค๊ฐ try ์ด๊ธฐํ์์ ;๋ก ๊ตฌ๋ถํด์ ์ฌ๋ฌ๊ฐ๋ฅผ ๋ฃ์ ์๋ ์๋ค.