c#의 데이터 자료형에 대해 알아 봅시다.
저는 요리프로그램을 가끔씩 봅니다. EBS에서 나오는 요리프로그램 같은걸 보면 제가 교양인이 된것 같은 느낌이 들어서 봅니다.
요리 프로그램을 보다보면 야채따로, 고기따로, 육수따로 재료들을 각각 따로따로 담아두더군요.
이렇게 재료를 각각 담아두면 정리도 되고 필요할때 편하게 써먹을 수 있겠죠? ^^
이것이 자료형입니다.
숫자는 숫자대로, 문자는 문자대로, 소수점 숫자는 float형으로..
bool | 참, 거짓으로 나뉘는 그릇. true,false |
byte | 1바이트 만을 담는 그릇. 양수만 가능 0~255 |
sbyte | 1바이트 만을 담는 그릇. 음수 양수 가능 -127~128 |
int | 정수형(숫자)를 담는 그릇. 음수 양수 가능 |
float | 소수점 7자리까지 숫자를 담는 그릇 |
double | 소수점 16자리까지 숫자를 담는 그릇 |
char | 문자 하나를 담는 그릇 'A' |
string | 문자열을 담는 그릇 "Hello" (문자 여러개) |
object | object형 을 담는 그릇. 모든 그릇이 올 수 있다. |
어떤 재료가 어떤 그릇에 담기는 지 알겠죠? 간장은 간장종지에 고기는 고기전용 그릇에 담기듯이 말이죠.
그런데 Object 형은 무엇을 의미하는걸까요?
단순하게 이야기 하자면 Object는 모든 자료형이 담길 수 있는 그릇입니다.
int val = 10; Object obj = (Object)val;
이것을 박싱(Boxing)이라고 합니다. 박스에 담는다 처럼요. (반대는 언박싱 UnBoxing 이겠죠?)
이것에 대해서는 나중에 더 이야기 해볼게요.
자료형의 종류가 어떤것이 있구나. 정도만 이해하고 느껴도 충분할 것 같습니다.
예를 들어,
unsigned int : 4 Byte (32 Bit) int 최소값 : -2147483648 int 최대값 : 2147483647 |
int 자료형의 최소값과 최대값을 암기하는게 도움이 될까요?
저는 그렇지 않다고 봅니다. 쉽게 이해하고, 자주 접하면, 어느새 본질이 보이기 마련이라 생각합니다.
오늘은 자료형에 대해 배워봤습니다.
제가 내린 자료형의 나름의 결론과 느낀 점
자료형은 "그릇"이다.
이 부분을 잘 기억을 해두시면 나중에 클래스를 배우실때 도움이 될 것 같습니다.
왜 요리재료가 아니고 요리재료를 담는 그릇이라고 할까요?
본질은 "어떤것을 담는다"는 것이 자료형과 클래스와 맞닿는 점이 있기 때문입니다.
클래스, 객체, 인스턴스, 변수등의 개념들로 힘들었던 적이 있던 경험때문에 이런 표현을 썼던것 같습니다.
앞으로 천천히 더 알아볼까요? ^^