뇌를 자극하는 c#5.0을 보고 배운 나로써는 using문을 보고 이런 문법이 있나,,? 라는 생각이 들었다. c#11까지 나온걸 지금에서야 알았다,, 앞으로 https://www.csharpstudy.com/latest/CS8-using.aspx 에서 c# 5.0이후의 코드들을 공부해보려고 한다.
using문의 정의는
using 선언은 using 키워드 뒤에 오는 변수 선언으로서, using 뒤에 있는 변수가 using을 둘러싼 범위를 벗어날 경우 Dispose 하도록 컴파일러에게 지시하게 된다. 기존의 using문을 사용할 경우 괄호 {...} 를 표시해야 했는데, using 블럭 전체를 들여쓰기 해야 하는 불편함이 있었다. using 선언은 (별도의 괄호를 메서드 내부에 사용하지 않는 한) 통상 메서드가 끝날 때 Dispose() 를 자동 호출하게 해 준다. 물론 경우에 따라 긴 메서드 안에 특정 부분에서만 using을 사용하고 빨리 Dispose() 해 주어야 한다면, 기존의 using문을 사용할 수 있다. 란다.
또한
using 키워드는 C#에서 IDisposable 인터페이스를 구현하는 객체를 사용한 후에 자동으로 해당 객체의 Dispose() 메서드를 호출하여 리소스 누수를 방지하기 위해 사용됩니다. 이는 객체의 리소스를 안전하게 해제하기 위해 반드시 호출되어야 하는 메서드입니다. IDisposable 인터페이스를 구현하는 클래스들 중에서는 파일, 네트워크 연결, 데이터베이스 연결 등과 같이 시스템 리소스를 사용하는 클래스들이 많이 있습니다.
요약 :
메모리 누수를 방지하기 위해 IDispoable을 구현하는 객체를 사용한 후에 자동으로 Dispose를 호출해서 리소스 할당을 해제해주는 편리한 키워드다.
'프로그래밍 언어 > c#' 카테고리의 다른 글
C# 6.0 정리 (1) | 2023.04.24 |
---|---|
C# abstract class, Interface (0) | 2023.04.24 |
c# Reflection, Attribute (0) | 2023.04.23 |
c# 유니티에서 코루틴(Coroutine)이란 ? (0) | 2023.04.23 |
c# 스레드 :: 비동기 프로그래밍 기초 (1) | 2023.04.21 |