본문 바로가기
CSharp/CSharp 문법

using 문으로 리소스를 안전하게 해제하기

by MonoSoft 2025. 6. 19.
728x90
반응형

using 문으로 리소스를 안전하게 해제하기

파일, DB 연결, 스트림 등 unmanaged 리소스를 다룰 때는 
IDisposable을 구현한 객체를 꼭 using 블록으로 감싸 주세요.
이렇게 하면 예외가 발생하더라도 자동으로 리소스를 
해제할 수 있어 메모리 누수와 자원 점유 문제를 방지할 수 있습니다.

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string path = "example.txt";

        using (StreamWriter writer = new StreamWriter(path))
        {
            writer.WriteLine("안녕하세요, C#!");
        }

        Console.WriteLine("파일이 저장되었습니다.");
    }
}

using 블록을 벗어나면 Dispose()가 자동으로 호출되어 자원을 정리합니다.

StreamWriter, SqlConnection, FileStream 등 대부분의 시스템 리소스 관련 클래스에서 필요합니다.

C# 8부터는 using var 형태로도 간결하게 작성 가능합니다.

복수의 using을 중첩하지 말고, C# 8 이상에서는 using var를 연속해서 쓰면 더 깔끔합니다.

 


#CSharpUsing문법 #리소스자동해제 #Dispose자동처리 #DotNet파일처리 
#IDisposable패턴 #CleanCode자원관리 #StreamWriter사용법 #CSharpFileIO 
#usingvar문법 #파일쓰기코드

728x90
반응형

댓글