프로그래밍에서 데이터를 저장하는 변수와 데이터의 타입을 명시하고 정의하는 자료형에 대해서 알아본다.
자료형은 데이터가 어떤 형태인지 정의하는 것으로,
메모리에 어떻게 저장할지, 어떤 연산이 가능한지, 크기가 얼마나 되는지 결정한다.
자료형 | 데이터 타입 | 크기 (바이트) | 범위 |
---|---|---|---|
sbyte | System.SByte | 1 | -128 ~ 127 |
byte | System.Byte | 1 | 0 ~ 255 |
short | System.Int16 | 2 | -32,768 ~ 32,767 |
ushort | System.UInt16 | 2 | 0 ~ 65,535 |
int | System.Int32 | 4 | -2,147,483,648 ~ 2,147,483,647 |
uint | System.UInt32 | 4 | 0 ~ 4,294,967,295 |
long | System.Int64 | 8 | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
ulong | System.UInt64 | 8 | 0 ~ 18,446,744,073,709,551,615 |
float | System.Single | 4 | ±1.5 × 10^-45 ~ ±3.4 × 10^38 |
double | System.Double | 8 | ±5.0 × 10^-324 ~ ±1.7 × 10^308 |
decimal | System.Decimal | 16 | ±1.0 × 10^-28 ~ ±7.9 × 10^28 |
char | System.Char | 2 | 유니코드 문자 |
string | System.String | 유니코드 문자열 | |
bool | System.Boolean | 1 | true 또는 false |
각 자료형 중 int, float, double, bool은 데이터 타입과 크기, 범위까지 기억해두면 좋다.
자료형은 두 가지로 분류 가능한데 값 형식과 참조 형식에 따라 분류 가능하다. 이에 대한 내용은 따로 정리해 두었다.
Unity에서는
Unity 엔진 내부 연산 대부분이 float 기반이라서
float를 기본으로 사용하는 것이 좋다.
반면 double은 정밀하지만 성능 부담이 있다(특히 모바일)