본문 바로가기

C# 코딩 기초

C# 기초 01 - 자료형(Data Type)

안녕하세요 "투명 나비" 입니다.

 

오늘은 C# 기초 : 첫번째!! 자료형(Data Type)에 대해서 알아보겠습니다

 

기본 자료형은 4가지(정수형, 실수형, 문자형, 불린형)가 있습니다.

 


처음은 정수형 기본 타입부터 알아보겠습니다.

 

기본 타입은 8가지가 있습니다

 

데이터 형식 크기 범위 설명
sbyte 1 byte ( 8 bit) -128 ~ 127 앞에 붙은 s는 signed의 약자 입니다
byte 0 ~ 255
short 2 byte (16 bit) -32,768 ~ 32,767 앞에 붙은 u는 unsigned의 약자입니다
ushort 0 ~ 65,535
int 4 byte (32 bit) -2,147,483,648 ~ 2,147,483,647
uint 0 ~ 4,297,967,295
long 8 byte (64 bit) -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
ulong 0 ~ 18,446,744,073,709,551,615

위의 표를 보시면 데이터 타입 앞에 s 또는 u가 있는데 이것들은 축약어(줄임말)입니다.

 

정수(소수점이 없는 수)를 나타내는 타입이 8가지나 있는 이유는 저장공간의 효율을 높이기 위해서입니다.

 

데이터 타입을 선언하면, 컴퓨터가 선언한 데이터 크기만큼의 저장공간(메모리)을 확보합니다.

 

예) 만약! 1학년이 총 200명이라는 것을 저장하고 싶은데, byte 가 아닌  short, int, long 타입으로 저장을 하게 된다면,

1~7byte 정도를 낭비하게 됩니다.

 

컴퓨터 또는 휴대폰의 저장공간(메모리)은 한계가 있기 때문에, 이점을 숙지하고, 적절한 데이터 타입을 사용하시길 바랍니다 

 

또한, 데이터가 담을 수 있는 범위를 넘어서면 그 값을 담을 수 없다고 나오거나, 의도했던 값이 나오지 않습니다.

 

예)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test : MonoBehaviour{

	void Start(){
    
    	sbyte _sbyte = 127;  			   // 변수 선언 및 값을 부여(추후설명)
		
        Debug.Log($"첫번째 sbyte 값 : {_sbyte}");   //출력
        
        _sbyte++;       		  	   // _sbyte에 1을 더해준다(추후설명)
        
        Debug.Log($"두번째 sbyte 값 : {_sbyte}");   //출력
        
        _sbyte++;       			   // _sbyte에 1을 더해준다(추후설명)
        
        Debug.Log($"세번째 sbyte 값 : {_sbyte}");   //출력

    }

   
}

 

결과)

첫번째 sbyte 값 : 127

두번째 sbyte 값 : -128

세번째 sbyte 값 : -127

 

위의 예제를 보면 127에 1을 더했는데, sbyte 데이터 타입의 범위를 벗어났기 때문에 128이 아닌 -128이 출력됩니다.

 


다음은 실수형 기본 타입입니다.

 

쉽게 설명하면 소수점을 나타낼 수 있는 자료형입니다.

 

기본 타입은 3가지가 있습니다

 

데이터 형식 크기 범위 설명
float 4 byte (32 bit) (+,-)1.5 x 10e-45 ~ (+,-)3.4 x 10e38  아래에서 설명
double 8 byte (64 bit) (+,-)5.0 x 10e-324 ~ (+,-)1.7 x 10e308 
decimal 16 byte (128 bit) (+,-)1.0 x 10e-28 ~ (+,-)7.9 x 10e28 

 

float, double, decimal는 정밀도에서 차이가 난다. 

 

float는 소수점 6자리까지 나타내고, double는 소수점 14자리 까지, decimal은 소수점 28자리 까지 나타낸다.

 

만약, float 값이 소수점 7까지 있고, double 값이 소수점 15까지 있으면,  각각 반올림하여 6자리 또는 14자리만

나타내지만, decimal은 반올림하지 않고 버린다.

 

또한, float와 decimal에 값을 넣어줄 때는 끝에, f 또는 m을 붙여야 한다.

 

예)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test : MonoBehaviour{

    void Start(){

        float _float = 1.123456789123456789123456789123456789f;
        double _double = 1.123456789123456789123456789123456789;
        decimal _decimal = 1.123456789123456789123456789123456789m;

        Debug.Log($"float 값 : {_float}");       
        Debug.Log($"double 값 : {_double}");
        Debug.Log($"decimal 값 : {_decimal}");

    }

   
}

결과)

float 값 : 1.123457

double 값 : 1.12345678912346

decimal 값 : 1.1234567891234567891234567891

 


다음은 문자형 기본 타입입니다.

 

기본 타입은 2가지가 있습니다

 

데이터 형식 크기 범위 설명
char 유니코드 2 byte (16 bit) U+0000 ~ U+FFFF 문자를 담을 수 있다
string 유니코드문자열  문자열 문자열을 담을 수 있다

 

char과 string의 차이점은 문자를 담을지 아니면 문자열을 담을지에 대한 차이입니다

 

값을 넣는 방법 또한 다릅니다. 

char은 ' ' 사이에 문자 1개만 넣습니다. (만약 여러 개의 문자를 넣으면 에러 메시지가 나옵니다)

string은 " " 사이에 문자 여러 개를 넣어줍니다. (문자 1개만 넣어도 괜찮습니다)

 

예)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test : MonoBehaviour{

    void Start() {
    
        char _char = 'b';
        string _string = "Banana";
        
        Debug.Log($"char 값 : {_char}");
        Debug.Log($"string 값 : {_string}");
        
    }
    
}

결과)

char 값 : b

string 값 : Banana

 


마지막으로 불린(boolean)형 기본 타입입니다.

 

기본 타입은 1가지만 있습니다

 

데이터 형식 크기 범위 설명
bool 1 byte (4 bit) true 또는 false 아래에서 설명

 

불린형은 단 2가지 true(참) 또는 false(거짓) 값만 넣을 수 있습니다.

 

예)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test : MonoBehaviour{

    void Start(){
    
        bool _bool01 = true;
        bool _bool02 = false;

        Debug.Log($"bool 01 값 : {_bool01}");
        Debug.Log($"bool 02 값 : {_bool02}");

    }
   
}

결과)

bool 01 값 : true

bool 02 값 : false

 

 


투명나비의 후기

 

처음으로 복습 겸 C# 자료형(Data type)에 대해서 포스팅하였습니다.

 

생각보다 오래 걸리긴 했지만 끝내고 나니 뭔가 뿌듯합니다ㅎㅎ

 

데이터 타입마다 언제 사용하면 좋은지에 대해 더욱 길게 쓰고 싶지만, 

 

기초 후반에 배우는 내용과 함께 설명하도록 하겠습니다.

 

인터넷에서 여러 자료를 참고해서 제 입맛 데로 만들었기 때문에, 누락된 부분이나, 간략하게 설명한 부분도 있습니다.

 

만약 틀린 부분이나 추가해야 하는 부분이 있으면 알려주셨으면 좋겠습니다.

 


참고 : https://boxfoxs.tistory.com/231

 

C# 강좌 - 세번째 : 데이터 타입

안녕하세요 박스여우입니다. C#마스터 세번째 강좌 데이터저장과 종류에 대해알아보겠습니다. 데이터의 형식으로는 기본 데이터 형식 과, 기본데이터 형식을 복합적으로 사용하여 이루어진 복합 데이터 형식이 있..

boxfoxs.tistory.com