다음을 통해 공유


.NET 클래스 라이브러리 개요

.NET API에는 개발 프로세스를 신속하게 처리 및 최적화하고 시스템 기능에 대한 액세스를 제공하는 클래스, 인터페이스, 대리자 및 값 형식이 포함됩니다. 언어 간의 상호 운용성을 용이하게 하기 위해 대부분의 .NET 형식은 CLS 규격이므로 컴파일러가 CLS(공용 언어 사양)를 준수하는 모든 프로그래밍 언어에서 사용할 수 있습니다.

.NET 형식은 .NET 애플리케이션, 구성 요소 및 컨트롤이 빌드되는 기반입니다. .NET에는 다음 함수를 수행하는 형식이 포함됩니다.

  • 기본 데이터 형식 및 예외를 나타냅니다.
  • 데이터 구조를 캡슐화합니다.
  • I/O를 수행합니다.
  • 로드된 형식에 대한 정보에 액세스합니다.
  • .NET 보안 검사를 호출합니다.
  • 데이터 액세스, 풍부한 클라이언트 쪽 GUI 및 서버 제어 클라이언트 쪽 GUI를 제공합니다.

.NET은 추상 및 구체적(비 추상) 클래스뿐만 아니라 풍부한 인터페이스 집합을 제공합니다. as-is 구체적인 클래스를 사용하거나 대부분의 경우 해당 클래스에서 고유한 클래스를 파생시킬 수 있습니다. 인터페이스의 기능을 사용하려면 인터페이스를 구현하는 클래스를 만들거나 인터페이스를 구현하는 .NET 클래스 중 하나에서 클래스를 파생시킬 수 있습니다.

명명 규칙

.NET 형식은 계층 구조를 나타내는 점 구문 명명 체계를 사용합니다. 이 기술은 관련 형식을 네임스페이스로 그룹화하여 보다 쉽게 검색하고 참조할 수 있습니다. 전체 이름의 첫 번째 부분(맨 오른쪽 점까지)은 네임스페이스 이름입니다. 이름의 마지막 부분은 형식 이름입니다. 예를 들어, System.Collections.Generic.List<T>List<T> 네임스페이스에 속하는 System.Collections.Generic 형식을 나타냅니다. System.Collections.Generic 형식을 사용하여 제네릭 컬렉션을 사용할 수 있습니다.

이 명명 체계를 사용하면 .NET을 확장하는 라이브러리 개발자가 계층적 형식 그룹을 만들고 일관되고 유익한 방식으로 이름을 지정할 수 있습니다. 또한 형식 이름 충돌을 방지하는 전체 이름(즉, 네임스페이스 및 형식 이름)으로 형식을 명확하게 식별할 수 있습니다. 라이브러리 개발자는 네임스페이스의 이름을 만들 때 다음 규칙을 사용해야 합니다.

CompanyName. TechnologyName

예를 들어 네임스페이스는 Microsoft.Word 이 지침을 준수합니다.

명명 패턴을 사용하여 관련 형식을 네임스페이스로 그룹화하면 클래스 라이브러리를 빌드하고 문서화하는 데 유용합니다. 그러나 이 명명 체계는 표시 유형, 멤버 액세스, 상속, 보안 또는 바인딩에 영향을 주지 않습니다. 네임스페이스는 여러 어셈블리에서 분할할 수 있으며 단일 어셈블리에는 여러 네임스페이스의 형식이 포함될 수 있습니다. 어셈블리는 공용 언어 런타임의 버전 관리, 배포, 보안, 로드 및 표시 유형에 대한 공식적인 구조를 제공합니다.

네임스페이스 및 형식 이름에 대한 자세한 내용은 공용 형식 시스템을 참조하세요.

시스템 네임스페이스

System 네임스페이스는 .NET의 기본 형식에 대한 루트 네임스페이스입니다. 이 네임스페이스에는 모든 애플리케이션에서 사용하는 기본 데이터 형식(예: Object 상속 계층의 루트), Byte, , CharArrayInt32String클래스를 나타내는 클래스가 포함됩니다. 이러한 형식의 대부분은 프로그래밍 언어에서 사용하는 기본 데이터 형식에 해당합니다. .NET 형식을 사용하여 코드를 작성할 때 .NET 기본 데이터 형식이 필요한 경우 언어의 해당 키워드를 사용할 수 있습니다.

다음 표에서는 .NET에서 제공하는 기본 형식을 나열하고, 각 형식을 간략하게 설명하고, Visual Basic, C#, C++, F#의 해당 형식을 나타냅니다.

카테고리 클래스 이름 설명 Visual Basic 데이터 형식 C# 데이터 형식 C++/CLI 데이터 형식 F# 데이터 형식
정수 Byte 부호 없는 8비트 정수입니다. Byte byte unsigned char byte
SByte 부가된 8비트 정수입니다.

CLS 규격이 아닙니다.
SByte sbyte char 또는 signed char sbyte
Int16 16비트 부호 있는 정수입니다. Short short short int16
Int32 32비트 부호 있는 정수입니다. Integer int int 또는 long int
Int64 64비트 부호 있는 정수입니다. Long long __int64 int64
UInt16 16비트 부호 없는 정수입니다.

CLS 규격이 아닙니다.
UShort ushort unsigned short uint16
UInt32 32비트 부호 없는 정수입니다.

CLS 규격이 아닙니다.
UInteger uint unsigned int 또는 unsigned long uint32
UInt64 부호 없는 64비트 정수입니다.

CLS 규격이 아닙니다.
ULong ulong unsigned __int64 uint64
부동 소수점 Half 반정밀도(16비트) 부동 소수점 숫자입니다.
Single 단정밀도(32비트) 부동 소수점 숫자입니다. Single float float float32 또는 single
Double 배정밀도(64비트) 부동 소수점 숫자입니다. Double double double float 또는 double
논리적인 Boolean 불리언 값(true 또는 false)입니다. Boolean bool bool bool
기타 Char 유니코드(16비트) 문자입니다. Char char wchar_t char
Decimal 10진수(128비트) 값입니다. Decimal decimal Decimal decimal
IntPtr 기본 플랫폼(32비트 플랫폼의 32비트 값 및 64비트 플랫폼의 64비트 값)에 따라 크기가 달라지는 부호 있는 정수입니다. nint unativeint
UIntPtr 크기가 기본 플랫폼(32비트 플랫폼의 32비트 값 및 64비트 플랫폼의 64비트 값)에 따라 달라지는 부호 없는 정수입니다.

CLS 규격이 아닙니다.
nuint unativeint
Object 개체 계층의 루트입니다. Object object Object^ obj
String 유니코드 문자의 변경할 수 없는 고정 길이 문자열입니다. String string String^ string

네임스페이스는 기본 데이터 형식 System 외에도 예외를 처리하는 클래스부터 애플리케이션 도메인 및 가비지 수집기와 같은 핵심 런타임 개념을 다루는 클래스에 이르기까지 100개가 넘는 클래스를 포함합니다. 네임스페이스 System는 여러 하위 수준 네임스페이스도 포함합니다.

네임스페이스에 대한 자세한 내용은 .NET API 브라우저 를 사용하여 .NET 클래스 라이브러리를 찾아보세요. API 참조 설명서는 각 네임스페이스, 해당 형식 및 각 멤버에 대한 설명서를 제공합니다.

데이터 구조체

.NET에는 많은 .NET 앱의 작동 주체인 데이터 구조 집합이 포함되어 있습니다. 주로 컬렉션이지만 다른 형식도 포함됩니다.

  • Array - 인덱스로 액세스할 수 있는 강력한 형식의 개체 배열을 나타냅니다. 구성에 따라 고정 크기가 있습니다.
  • List<T> - 인덱스로 액세스할 수 있는 강력한 형식의 개체 목록을 나타냅니다. 필요에 따라 자동으로 크기가 조정됩니다.
  • Dictionary<TKey,TValue> - 키로 인덱싱되는 값의 컬렉션을 나타냅니다. 키를 통해 값에 액세스할 수 있습니다. 필요에 따라 자동으로 크기가 조정됩니다.
  • Uri - URI(Uniform Resource Identifier)의 개체 표현을 제공하고 URI 부분에 쉽게 액세스할 수 있도록 합니다.
  • DateTime - 일반적으로 날짜 및 시간으로 표현되는 시간(인스턴트)을 나타냅니다.

유틸리티 API

.NET에는 많은 중요한 작업에 대한 기능을 제공하는 유틸리티 API 집합이 포함되어 있습니다.

  • HttpClient - URI로 식별된 리소스에서 HTTP 요청을 보내고 HTTP 응답을 수신하기 위한 API입니다.
  • XDocument - LINQ를 사용하여 XML 문서를 로드하고 쿼리하기 위한 API입니다.
  • StreamReader - 파일을 읽기 위한 API입니다.
  • StreamWriter - 파일을 작성하기 위한 API입니다.

앱 모델 API

.NET과 함께 사용할 수 있는 여러 앱 모델이 있습니다. 예를 들면 다음과 같습니다.

  • ASP.NET - 웹 사이트 및 서비스를 빌드하기 위한 웹 프레임워크입니다. Windows, Linux 및 macOS에서 지원됩니다(ASP.NET 버전에 따라 다름).
  • .NET MAUI - C#을 사용하여 Windows, macOS, iOS 및 Android에서 실행되는 네이티브 앱을 빌드하기 위한 앱 플랫폼입니다.
  • Windows Desktop - WPF(Windows Presentation Foundation) 및 Windows Forms를 포함합니다.

참고하십시오