.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, , CharArrayInt32및 String클래스를 나타내는 클래스가 포함됩니다. 이러한 형식의 대부분은 프로그래밍 언어에서 사용하는 기본 데이터 형식에 해당합니다. .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를 포함합니다.
참고하십시오
.NET