Visual Basic .NET(VB.NET)에서 **네임스페이스(Namespace)**는 C#과 동일하게, 클래스, 인터페이스, 모듈, 구조체 등의 이름 충돌을 방지하고 코드 구조를 논리적으로 구분하기 위해 사용됩니다. VB.NET은 .NET Framework 또는 .NET Core/.NET 5+ 기반에서 실행되므로, 사용 가능한 네임스페이스는 C#과 거의 동일하지만, VB.NET에서 자주 사용하는 네임스페이스들을 중심으로 설명드리겠습니다.
✅ VB.NET에서 자주 사용하는 네임스페이스 종류 🔹 1. 기본 네임스페이스
네임스페이스 설명
| System | 기본 데이터 타입, 예외 처리, 수학, 날짜 등 |
| System.Console | 콘솔 입출력 지원 |
| System.Math | 수학 함수 (Sin, Cos, Pow 등) |
| System.Environment | OS 및 실행 환경 정보 |
| System.Globalization | 지역화 및 문화권 처리 |
| System.Text | 문자열 처리, 인코딩 |
📌 예시:
Imports System Module Module1 Sub Main() Console.WriteLine(Math.Sqrt(25)) End Sub End Module
🔹 2. 컬렉션 및 데이터 구조
네임스페이스 설명
| System.Collections | ArrayList, Hashtable 등 비제네릭 컬렉션 |
| System.Collections.Generic | List(Of T), Dictionary(Of K, V) 등 제네릭 컬렉션 |
| System.Collections.Specialized | HybridDictionary, StringCollection 등 특수 컬렉션 |
📌 예시:
Imports System.Collections.Generic Dim names As New List(Of String) names.Add("Alice")
🔹 3. 파일 및 데이터 입출력
네임스페이스 설명
| System.IO | 파일, 디렉터리, 스트림 처리 |
| Microsoft.VisualBasic.FileIO | VB.NET 전용 고수준 파일 조작 기능 (ex: FileSystem) |
📌 예시:
Imports System.IO Dim content As String = File.ReadAllText("C:\test.txt")
🔹 4. 윈도우 폼 애플리케이션 (WinForms)
네임스페이스 설명
| System.Windows.Forms | 버튼, 폼, 텍스트박스 등 UI 컨트롤 |
| System.Drawing | 이미지, 폰트, 색상 등 그래픽 처리 |
📌 예시:
Imports System.Windows.Forms Public Class MainForm Inherits Form End Class
🔹 5. 데이터베이스 접근
네임스페이스 설명
| System.Data | ADO.NET 기본 기능 |
| System.Data.SqlClient | SQL Server 전용 클라이언트 |
| System.Data.OleDb | Access, Excel 등 OLE DB 연결 |
| System.Data.Odbc | 일반 ODBC 연결 |
📌 예시:
Imports System.Data.SqlClient Dim conn As New SqlConnection("connection string here")
🔹 6. 네트워크 및 웹 요청
네임스페이스 설명
| System.Net | 네트워크 기능, IP, DNS |
| System.Net.Http | HTTP 요청 및 응답 |
| System.Net.Sockets | TCP/UDP 소켓 프로그래밍 |
🔹 7. 멀티스레딩 및 비동기 처리
네임스페이스 설명
| System.Threading | 스레드, 뮤텍스, 타이머 |
| System.Threading.Tasks | 비동기 처리(Task 기반) |
🔹 8. 기타 고급 기능
네임스페이스 설명
| System.Reflection | 런타임에 타입 정보 얻기 |
| System.Linq | LINQ 쿼리 기능 |
| System.ComponentModel | 속성, 이벤트, 디자인 타임 기능 |
| System.Timers | 타이머 기능 |
| System.Diagnostics | 디버깅, 로깅, 프로세스 실행 |
✅ VB.NET 전용 네임스페이스
네임스페이스 설명
| Microsoft.VisualBasic | VB 고유 함수와 상위 호환 유틸리티 제공 |
| Microsoft.VisualBasic.FileIO | VB 전용 파일 기능 |
| Microsoft.VisualBasic.Devices | 컴퓨터 정보 (오디오, 클립보드, 네트워크) 등 |
📌 예시:
Imports Microsoft.VisualBasic.FileIO FileSystem.WriteAllText("file.txt", "Hello World", False)
✅ 네임스페이스 선언 및 사용 방법 Namespace MyCompany.MyProject Public Class MyClass Public Sub SayHello() Console.WriteLine("Hello from custom namespace") End Sub End Class End Namespace Imports MyCompany.MyProject Dim obj As New MyClass() obj.SayHello()
✅ 요약표
범주 주요 네임스페이스
| 기본 기능 | System, System.Text, Microsoft.VisualBasic |
| 컬렉션 | System.Collections, System.Collections.Generic |
| 입출력 | System.IO, Microsoft.VisualBasic.FileIO |
| UI | System.Windows.Forms, System.Drawing |
| DB | System.Data, System.Data.SqlClient, System.Data.OleDb |
| 네트워크 | System.Net, System.Net.Http |
| 고급 기능 | System.Reflection, System.Linq, System.Threading |
필요하시면 VB.NET에서 특정 작업(예: DB 연결, 파일 처리, UI 이벤트 등)에 필요한 네임스페이스 + 코드 예시도 제공해 드릴게요!