자료/C샵
using , Namespace(네임스페이스), Dispose
네오블루
2009. 1. 17. 01:30
using ...
1. Namespace . 하나의 구분자와 같은 의미를 가진다. 중복성을 막으면서 코드의 상위에 using하여 군더더기 구분자를 한데 처리해주는 아주 편리한 키워드...
2. Dispose . 많은 이들이 이 두번째 개념에 대해 혼란감을 같는다. 그런데 어떻게 할 것인가. C#언어의 구조가 그렇고 이렇게 편리한 기능을 떡하니 박아놓았는데...
첫번째는 많은 이들이 알 것으로 여겨 두번째에 대해 자세히 설명하고자 합니다.
저 같은 경우에도 학습을 하기 전에 무작정 Database 연결 구문과 Socket / Stream 과 같은 Close가 사용되는 곳에 using을 사용해서 작성 하는줄 알았습니다. 이런 무식한...
하지만 두번째 using의 개념을 정확하게 말하면 Dispose를 보장하는 메소드라고 할수 있겟죠. 「즉 개체가 필요 이상으로 빨리 해제되는 일도 없을 뿐더러 예외가 발생하더라도 개체가 해제되며 참조가 NULL인지 점검하므로 개체가 두번 이상 해제되는 일을 방지할수가 있겟죠.」 - 에릭 화이트.
즉 DB 연결이든 소켓을 여는 스트림을 여는 .... 이러한 용법이외에도 .. 리소스를 정리해줘야 하는 필요성을 가진 것에 대한 해제의 자율성을 보장할 때 사용하면 편리하다는 거죠...