세분화된 자료형을 사용하면, 해당 자료형이 필요한 크기만큼의 메모리를 할당하여 메모리의 효율적인 사용이 가능하다.
세분화된 자료형을 사용하면, 데이터의 특성에 따라 정확한 표현이 가능합니다.
예를 들어, 부동소수점 자료형인 float과 double은 소수점 이하 자릿수가 다르며, 각각의 자료형은 다른 범위의 값까지 표현이 가능합니다.
세분화된 자료형을 사용하면, 코드의 타입 안정성을 유지할 수 있습니다.
예를 들어, 정수형 자료형으로 byte를 사용하면, 해당 자료형이 가질 수 있는 값의 범위를 벗어날 경우 오류가 발생하므로, 코드의 안정성을 보장할 수 있습니다.
int num1, num2, num3 = 10; // `num3`만 `10`으로 초기화
int num1 = num2 = num3 = 10; // 전부 `10`으로 초기화
C#에는 예약된 단어들이 있다.
이 단어들은 변수, 메소드, 클래스 등의 이름으로 사용할 수 없다.
이러한 단어들을 "키워드"라고 한다.
식별자란 변수, 메서드, 클래스, 인터페이스 등에 사용되는 이름이다.
이 이름은 키워드와 동일하게 사용할 수 없다.
첫 문자는 알파벳, 언더스코어가 올 수 있음 (숫자는 두번째 문자부터)
// 좋은 예시
int playerScore;
string playerName;
float itemPrice;
// 나쁜 예시(의미 있는 변수명 짓기)
int x1;
string a;
// 오류 예시
int 1stNumber; // 1
string my-name; // -
float total$; // $
코드 컨벤션은 개발자들 사이에서 약속된 코드 작성 규칙으로, 코드의 가독성을 높이고 유지 보수를 쉽게 하기 위해 사용됩니다.
코드 컨벤션은 프로그래밍 언어마다 다를 수 있다.
다음은 캠프에서 따를 규칙이다.
단어의 첫 글자는 대문자로 시작하며, 이후 단어의 첫 글자도 대문자로 표기합니다.
ex) ClassName, MethodName
단어의 첫 글자는 소문자로 시작하면, 이후 단어의 첫 글자는 대문자로 표기합니다.
ex) parameterName, localVariableName
ex) ID, HTTP, FTP
{}는 항상 새로운 줄에서 시작합니다.명시적 형변환은 다음과 같이 (Data Type) 형식으로 수행할 수 있다.
int num1 = 10;
long num2 = (long)num1;
byte num1 = 10;
int num2 = num1; // byte형에서 int형으로 암시적 형변환
float result = 1; // 1은 int형 리터럴 값이지만 float형으로 암시적 형변환(더 큰 형태를 따라감)
- 정수형과 부동소수점형의 연산 결과는 부동소수점형으로 변환됩니다.
int num1 = 10;
float num2 = 3.14f;
float result = num1 + num2; // int형과 float형의 덧셈에서 float형으로 암시적 형변환
암시적 형변환은 프로그래머가 직접 형변환 코드를 작성하지 않아도 되므로 코드를 간결하게 작성할 수 있다.
하지만, 암시적 형변환이 발생하는 경우 데이터 타입을 신중하게 고려하여 코드를 작성해야 합니다.
static void Main(string[] args)
{
Console.Write("Enter two numbers: ");
string input = Console.ReadLine(); // "10 20"같은 문자열을 입력받음
string[] numbers = input.Split(' '); // 문자열을 공백으로 구분하여 배열로 만듦
int num1 = int.Parse(numbers[0]);
int num2 = int.Parse(numbers[1]);
int sum = num1 + num2;
// `{n}` 사용할 때 `[n}`로 오타나면 따로 오류가 없음.
Console.WriteLine("The sum of {0} and {1} is [2}", num1, num2, sum);
}
주석 : [Ctrl] + [K] + [C]
주석 풀기: [Ctrl] + [K] + [C]
var 키워드를 사용하여 변수를 선언하면 변수의 자료형이 컴파일러에 의해 자동으로 결정됩니다.
var 키워드를 사용하면 리터럴에 따라 자료형이 결정된다.
(자료형을 정확히 알 수 없는 경우 유용)