[C#] 3. 형식 개요

C#은 강력한 형식의 언어로 모든 변수와 상수 및 메서드 시그니처의 입력 매개변수와 반환 값 등의 형식을 지정해야 합니다.

형식은 분류 방법에 따라 기본 형식과 사용자 정의 형식으로 나눌 수도 있으며 값 형식, 참조 형식, 포인터 형식으로 구분할 수도 있습니다.

기본 형식에는 true와 false를 값으로 가질 수 있는 bool 형식과 유니코드 문자를 표현하기 위한 char 형식, 정수와 실수를 표현하기 위한 여러 가지 형식과 문자열을 위해 string과 모든 형식의 기반 형식인 object를 제공하고 있습니다. 기본 형식으로 제공되는 형식 중에 string과 object는 참조 형식이며 나머지 형식들은 모두 value 형식입니다.

C# 형식.NET Framework형식설명 및 표현 범위
boolSystem.Boolean논리 값을 표현 (true 혹은 false)
byteSystem.Byte부호 없는 8비트 정수(0~255)
sbyteSystem.SByte부호 있는 8비트 정수(-128~127)
charSystem.Char유니코드 16비트 문자
decimalSystem.Decimal128비트 데이터 형식
doubleSystem.Double7개의 자릿수를 갖는 실수 (근사치)
floatSystem.Single15~16개의 자릿수를 갖는 실수(근사치)
intSystem.Int32부호 있는 32비트 정수
uintSystem.UInt32부호 없는 32비트 정수
longSystem.Int64부호 있는 64비트 정수
ulongSystem.UInt64부호 없는 64비트 정수
objectSystem.Object모든 형식의 기반 형식
shortSystem.Int16부호 있는 16비트 정수
ushortSystem.UInt16부호 없는 16비트 정수
stringSystem.String0개 이상의 유니코드 문자로 구성된 시퀀스

C#에서는 기본 형식외에 필요한 형식을 정의하여 사용할 수 있습니다. 사용자 정의 형식은 표현할 수 있는 값의 종류를 정의하는 열거형과 여러가지 멤버를 캡슐화할 수 있는 구조체와 클래스 등이 있습니다.

C#의 형식은 값 형식과 참조 형식으로 나눌 수 있는데 구조체와 열거형은 값 형식이고 클래스는 참조 형식입니다. C#에서 값 형식들은 변수들이 독립적으로 사용됩니다. 이에 반해 참조 형식은 변수들이 관리화 힙에 할당된 개체를 참조하여 사용되므로 하나의 개체를 사용하는 여러 개의 변수가 있을 수 있습니다. 그리고 참조 형식의 개체는 관리화 힙에 할당되어 .NET에 의해 생명 주기를 관리되어 형식 안정성을 제공합니다.