close 메서드를 직접 호출하여 닫아주는 자원들이 존재하기 때문에 클라이언트가 놓치기가 쉽다. 안전망으로 finalizer를 활용하고 있지만 [아이템8]에서 말했듯 믿을게 못된다. static void copy(String src, String dst) throws IOException { InputStream in = new FileInputStream(src); try { OutputStream out = new FileOutputStream(dst); try { byte[] buf = new byte[BUFFER_SIZE]; int n; while ((n=in.read(buf)) >= 0){ out.write(buf,0,n); } } finally { out.close(); } } finally ..