
내일배움캠프 1주차는 '게임 개발이 처음이어도 쉽게 배우는 모바일 게임 개발'강의를 보고 따라하며 유니티 엔진에 대해 간단하게 알아보는 주차였다.
2주차에서는 본격적으로 C# 문법을 배우고, 이를 기반으로 간단한 텍스트 게임을 만드는 주차이다.
앞으로의 포스팅에서은 Microsoft Visual Studio 2022를 이용하며, 프레임워크는 .NET 6.0를 이용할 계획이다.
1. 자료형
C#에서는 여러 자료형들이 쓰인다.
sbyte, byte, short, ushort, int, uint, long, ulong은 정수 자료형,
long, ulong, float, double, decimal은 실수 자료형,
char 은 문자 자료형,
string은 문자열 자료형,
bool은 논리값 자료형이다.
정수 자료형과 실수 자료형은 저장하는 범위에 따라 다양한 자료형이 있는데,
이는 메모리 크기를 효율적으로 사용하기 위해 분리가 된 것이다.
예를 들면, sbyte 자료형은 -128~ 127범위의 정수 밖에 저장할 수 없지만,
int 자료형은 -2,147,483,648 ~ 2,147,483,647 범위의 정수를 저장할 수 있다.
만약 저장하고자 하는 어떤 값이 -128~ 127 범위 내에 있으며, 벗어날 일이 없다면 sbyte 자료형을 사용하는 것이 메모리를 효율적으로 사용할 수 있는 방법이다.
2. 변수
변수를 사용하기 위해서는 변수의 선언과, 초기화가 필요하다.
변수를 선언하기 위해서는 자료형과 변수이름을 다음의 예시와 같이 적으면 된다.
int num; // num이란 이름을 가진 int형 변수
string str; // str이란 이름을 가진 string형 변수
bool isTrue; // isTrue이란 이름을 가진 bool형 변수
다음과 같이 변수를 여러 개 선언할 수도 있다.
int num1, num2, num3; // num1, num2, num3의 이름을 가진 int형 변수들
변수를 선언한 뒤에는 변수의 값을 초기화 해줘야한다. 위에서 선언된 변수들을 다음과 같이 초기화 할 수 있다.
num = 10; // int형 변수 num의 값은 10;
str = "Hello, World!"; // string형 변수 str의 값은 Hello, World!
isTrue = true; // bool형 변수 isTrue의 값은 true
위 처럼 선언과, 초기화를 따로 할 수도 있지만, 선언과 초기화를 같이할 수도 있다.
int num = 10;
string str = "Hello, World!";
bool isTrue = true;
3. var 키워드
C#에는 var 키워드를 이용해 변수를 선언할 수 있다.
var num = 10;
var str = "Visual Studio"
위와 같이 변수를 초기화 하며 자료형을 선언할 경우, C#의 컴파일러가 자동으로 초기화된 값에 맞는 자료형을 지정해준다.
위의 예시에서는 num에는 int 자료형으로 선언되며, str에는 string 자료형이 선언된다.
위와 같은 상황에서는 굳이 var를 이용하지 않아도 되지만, 어떤 자료형을 받을지 정확하게 알 수 없는 경우에 var를 유용하게 사용할 수 있다.
4. 연산자
C#에서는 다양한 연산자를 제공한다.
크게 나누자면
1. 정수와 실수를 계산하는데 사용하는 산술연산자
2. 값을 비교해 참(True), 거짓(False)을 반환하는 관계연산자
3. 참, 거짓의 관계로 다시 참, 거짓을 도출할 수 있는 논리 연산자
4.1. 산술연산자
산술 연산자는 주로 정수나 실수 값에 이용되며, 일상생활에서 사용하는 사칙연산이라고 볼 수 있다.


덧셈, 뺄셈, 곱셈은 직관적으로 이해가 가능하지만,
몫과 나머지의 계산은 다소 헷갈릴 수 있다.


두번째 예시와 같이 7 / 3 의 값으로는 2가 나오고, 7 % 3 의 값은 1이 나온다.
정수형 계산의 경우, '/' 연산자를 이용하면 소수점 값이 나오는 것이 아니라, 오직 몫 값만이 나온다.
4.1.a. 복합 대입 연산자
산술연산자는 위 처럼 result = num1 + num2; 같은 식으로 사용도 가능하지만,
num1 += num2; 처럼 num1 값에 num2값을 바로 계산할 수도 있다.
이를 복합 대입 연산자라고 한다.
산술연산자 5가지를 모두 복합 대입 연산자를 이용해 계산할 수 있다.
4.1.b. 증감 연산자
만약 특정 변수의 값의 변화가 1씩 이루어진다면 '++'이나 '--'와 같은 증감연산자를 이용할 수 있다.
증감 연산자는 다음과 같이 이용한다.


'++'를 이용할 경우, 값을 1 더한다.
'--'를 이용할 경우, 값을 1 뺀다.
이는 num += 1;이나 num -= 1; 와도 같은 값을 내지만,
증감이 1으로만 이루어질 경우, 증감연산자를 이용하는 것이 더욱 간결하다.
다만, 증감연산자가 ++num; 이나 --num; 처럼 변수 앞에 오는 경우가 있는데,
이 경우는 계산이 다소 바뀐다.
다음의 예시를 확인할 수 있다.


증감 연산자를 이용한 상태로 출력을 할 경우, 그 차이를 확실하게 알 수 있다.
증감 연산자가 앞에 올 경우(전위), 증감연산자가 적용된 값이 출력이 되지만,
증감 연산자가 뒤에 올 경우(후위), 적용되기 전 값이 출력되며, 다음에 변수를 불러올 경우, 앞에 증감 연산자가 적용된 값으로 출력된다.
이는 증감연산자의 위치에 따라, 증감연산자가 적용되는 시점이 달라지기 때문이다.
Console.WriteLine() 의 상황에서는,
++num 의 경우, 증감연산자가 적용된 후에 값이 출력된다면,
num++의 경우 일단 num 값이 출력된 후에, 증감 연산자가 적용된 것이다.
그렇기 때문에 그 다음에 num 값을 출력했을 때, 증감 연산자가 적용된 값이 출력된다.
4.2. 관계 연산자
관계 연산자는 두 값을 비교해 참, 거짓을 반환하는 연산자이다.


예시를 보면 직관적으로 알 수 있다고 생각한다.
같음을 비교하는 관계연산자가 '='가 아닌 '=='에 주의한다.
4.3 논리연산자
논리 연산자는 참, 거짓 값을 대상으로 사용된다.
다음과 같은 예시를 들 수 있다.


'&&'은 AND와 같이 양 값이 모두 true일 때 true를 반환한다.
'||'은 OR와 같아, 둘 중 하나가 true일 경우에 true를 반환한다. 4번째 처럼 둘다 false인 경우 false값이 나온다
'!'은 값 앞에 붙이는데, NOT으로, true는 false로, false는 true로 바꾼다.
'내일배움캠프 TIL' 카테고리의 다른 글
| 내일배움캠프 8일차 TIL "조건문, 반복문, 메서드" (0) | 2024.09.23 |
|---|---|
| 내일배움캠프 7일차 TIL "C# 출력과 입력" (0) | 2024.09.20 |
| 내일배움캠프 5일차 TIL "게임을 빌드하는 법" (0) | 2024.09.13 |
| 내일배움캠프 4일차 TIL "게임 추가요소" (0) | 2024.09.12 |
| 내일배움캠프 3일차 TIL "반복문, 배열" (0) | 2024.09.11 |