본문 바로가기

C#

Using 구문 (Gemini)

C#에서 using 키워드는 두 가지 주요 용도로 사용됩니다: 네임스페이스를 가져오는 지시문자원을 자동으로 정리하는 구문입니다.


## 1. using 지시문 (Namespace 가져오기)

파일 상단에서 특정 네임스페이스를 사용하겠다고 선언하여, 해당 네임스페이스에 포함된 클래스나 형식을 긴 이름 없이 짧게 쓸 수 있도록 합니다.

사용 전:

C#
 
System.Console.WriteLine("Hello, World!");

사용 후:

C#
 
using System; // System 네임스페이스를 가져옴

// ...

Console.WriteLine("Hello, World!"); // 'System.'을 생략 가능

## 2. using 구문 (자원 자동 해제)

파일 스트림, 데이터베이스 연결, 그래픽 객체 등 반드시 사용 후 정리(해제)해야 하는 자원을 안전하고 편리하게 다룰 때 사용됩니다.

using 블록이 끝나면 컴파일러가 자동으로 자원의 Dispose() 메서드를 호출해 줍니다. 이는 try...finally 구문을 더 간결하게 표현한 것입니다.

  • 핵심: IDisposable 인터페이스를 구현하는 모든 객체에 사용할 수 있습니다.

try...finally를 사용한 자원 해제 (기존 방식):

C#
 
StreamReader reader = new StreamReader("file.txt");
try
{
    // 파일 읽기 작업...
}
finally
{
    if (reader != null)
    {
        reader.Dispose(); // 직접 Dispose() 호출
    }
}

using 구문을 사용한 자원 해제 (권장 방식):

C#
 
using (StreamReader reader = new StreamReader("file.txt"))
{
    // 파일 읽기 작업...
} 
// 이 블록을 벗어나는 순간, reader.Dispose()가 자동으로 호출됨