close() 메서드를 사용하여 Connection, Statement, ResultSet 객체를 닫는 이유는 다음과 같다.
1.
자원 해제
•
데이터베이스 연결, 명령문, 결과 집합은 시스템 자원을 사용한다. 이러한 자원은 제한적이기 때문에 사용이 끝나면 반드시 해제해야 한다.
•
close() 메서드를 호출하여 자원을 해제하지 않으면 메모리 누수(memory leak)가 발생할 수 있다.
2.
연결 풀 관리
•
많은 애플리케이션은 데이터베이스 연결 풀(connection pool)을 사용한다. 연결을 닫지 않으면 연결 풀이 고갈되어 새로운 연결을 생성할 수 없게 된다.
•
close() 메서드를 호출하면 연결 풀이 해당 연결을 재사용할 수 있게 된다.
3.
데이터 무결성
•
데이터베이스 연결을 닫지 않으면 트랜잭션이 완료되지 않을 수 있다. 이는 데이터 무결성에 영향을 미침
•
close() 메서드를 호출하여 트랜잭션을 명시적으로 완료하고 연결을 닫아야 한다.
4.
성능 최적화
•
불필요한 연결이 열려 있으면 데이터베이스 서버의 성능이 저하될 수 있다.
•
close() 메서드를 호출하여 불필요한 연결을 닫으면 데이터베이스 서버의 성능을 최적화할 수 있다.



