c#코드를 보면 심심찮게 using문을 볼 수 있다.using (var connection = new SqlConnection(connectionString)) { ...} using문을 사용하면 변수의 범위를 using 코드 블록으로 지정하여 using 블록을 완료하면 자동으로 폐기한다. 이 예에서 SqlConnection 유형의 연결 변수는 using 문의 닫는 대괄호에 도달하면 가비지 수집 준비가 된 것으로 지정된다. C#은 가비지 수집기가 있는 관리형 언어이기 때문에 가비지 수집기가 이를 대신 처리한다. 즉, C와 같은 비관리형 언어에서처럼 수동으로 메모리를 할당하고 할당 해제할 필요가 없다.하지만 가비지 컬렉터가 혼동할 수 있는 경우 가비지 컬렉터에게 도움을 줄 수 도 있어야 된다 예를 들어..