본문으로 바로가기
반응형

 1일차에 C#을 시작하면서 컴퓨터에게 우리의 말을 전해주기 위해서 VS2019를 설치해보았습니다.

깐김에 Hello Wolrd로 오타 낸 것을 출력도 해보았죠.

 

 오늘은 C#의 기본적인 문법을 익히기 위해 기초지식을 알아보는 시간을 가져보겠습니다.

 

 

 

1. .NET Framework(닷넷 프레임워크)

 닷넷 프레임워크는 마이크로소프트에서 발표한 응용 프로그램 개발 환경입니다. C#의 언어는 C#에 맞는 개발 환경에 맞춰서 소스 코드 개발을 해야 하는 것입니다. 예를 들어,

사람이 살 수 있는 환경

 사람은 지구의 환경에 살고 있지만, 달에서는 살 수 없는 환경입니다.

 그래서 3번째 케이스처럼 사람이 살 수 없는 달의 환경에 지구의 환경을 만들면 살 수 있을 것입니다.

이와 마찬가지로, C# 개발은 컴퓨터 본체에 윈도우라는 환경을 통해 만들 수 있는데, 이런 윈도우의 운영체제의 개발환경을 닷넷 프레임워크라고 합니다.

 

 

 

2. 컴퓨터 자료의 크기

 컴퓨터는 0, 1만 쓰는 기계입니다. 전압 5V를 받으면 1이 출력되고, 0V가되면 0을 출력합니다. 컴퓨터의 저장 단위는 bit로, binary digit의 줄임말로써 2진수의 한자리를 의미합니다.

4 bit = 1 nibble
8 bit = 1 byte (2 nibble)
1024 byte = 1 Kbyte   --> 2의 10제곱이 1024인데, 보통 10진수보다 편해서 1024단위로 작동합니다.
1 Mbyte = 2의 20제곱
1 Gbyte = 2의 30제곱
1 Tbyte = 2의 40제곱

1byte의 경우 방이 1개,

2byte의 경우 방이 2개,

4byte의 경우 방이 4개,

8byte의 경우 방이 8개가 존재합니다.

 

 

 CPU와 메모리(RAM)의 사이에 납땜을 통해 줄이 연결되어있는데 이 줄을 버스라고 부릅니다. 이 버스의 개수가 컴퓨터의 bit가 결정되는데, 버스의 개수가 8bit의 경우는 크기가 1 byte이므로 2의 8 제곱인 256개의 방이 있는 셈이고, 16bit면 2의 16 제곱으로 655536개로 byte으로 환산하면 64 Kbyte이고, 32bit는 4GB, 64bit는 (4GB의 제곱)이므로 메모리의 한계가 거의 없어진다고 합니다. 보통 우리가 쓰는 윈도우는 64bit니까 선이 64개가 있다고 볼 수 있습니다.

 

 

사람 수에따라 어떤 교통수단을 쓰냐를 고민하는 것처럼 방의 개수에따라서 용도가 달라지는데,

    1      ㅁ    0~255    : 자동차의 속도 같은 작은 수

    2      ㅁㅁ 0~65535 

    4      ㅁㅁㅁㅁ  0~42억  : 회사원의 연봉

    8     ㅁㅁㅁㅁㅁㅁㅁㅁ  0~너무 큼

 

 

 

3. 기본 자료형

 자료형은 우리가 자체적으로 코드를 만들지 않아도 C#언어에서 자체적으로 제공하는 데이터 형식을 의미합니다.

byte speed;

타입  이름

 위의 예시처럼 왼쪽을 자료형의 타입, 오른쪽을 자료형의 이름을 뜻합니다. 이때, 타입과 이름을 선언하게 되면 메모리의 speed라는 이름의 방이 1byte 만들어지게 됩니다.

자료형에는 여러 가지가 존재하는데, 

자료형 수의 범위 크기
sbyte -128 ~ 127 부호 있는 8 bit 정수
byte 0 ~ 255 부호 없는 8 bit 정수
short -32,768 ~ 32,767 부호 있는 16 bit 정수
ushort 0 ~ 65,535 부호 없는 16 bit 정수
int -2,147,483,648 ~ 2,147,483,647 부호 있는 32 bit 정수
uint 0 ~ 4,294,967,295 부호 없는 32 bit 정수
long -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,808 부호 있는 64 bit 정수
ulong 0 ~ 18,446,744,073,709,551,615 부호 있는 64 bit 정수

 왜 자료형을 범위에 따라 여러 가지를 나눴냐면, '한 개의 반에 학생 수'를 변수로 정할 때, 0~255의 범위를 벗어나지 않는다고 가정을 하면 굳이 '학생 수'를 나타낼 때 64비트의 공간을 할당하는 것은 자원의 낭비이므로 각 상황에 맞게 쓸 수 있도록 각 바이트에 해당하는 자료형이 준비되어있는 것입니다.

 

 

실제로 VS에서 sbyte의 범위를 넘어가는 -129를 넣어주니 오류가 뜬것을 확인할 수 있다.

 

 

 자료형의 타입을 정하고 이름을 적어줬을 때 변수 선언이라고 하는데, 위의 그림처럼 빨간 줄로 그어질 때가 있습니다. 이 빨간 줄은 코드를 짜고 있을 때 이따구로 짜지 말라는 뜻이고, 초록 줄은 변수 선언만 하고 다른 곳에 쓰이지 않았을 때(예를 들면 출력) 그어집니다.

 또 특이한 점으로 '='를 볼 수 있는데, 프로그래밍에서는 '같다' 개념이 아니라 오른쪽(R-value)의 값을 왼쪽(L-value)에 대입하라는 뜻입니다. 이때 변수 선언을 할 때 특징이 있습니다.

첫번째 줄처럼 변수 선언을하면서 값을 동시에 부여하는 것을 초기화라고 한다.

 

 

 

 

 여기까지 C#의 기초를 위한 지식과 기본 자료형에 대해 알아봤습니다.

 int와 uint가 왜 다른지에 대한 설명은 보수법을 알아야 하는데 보수법은 기타 실습에 포스팅해보겠습니다.

감사합니다.

반응형