[C#] 변수와 자료형

Flaming Bun·2025년 4월 14일

C#

목록 보기
6/35

🔥 변수의 자료형을 세분화 해서 사용하는 이유

1. 메모리의 효율적인 사용

세분화된 자료형을 사용하면, 해당 자료형이 필요한 크기만큼의 메모리를 할당하여 메모리의 효율적인 사용이 가능하다.

2. 정확한 데이터 표현

세분화된 자료형을 사용하면, 데이터의 특성에 따라 정확한 표현이 가능합니다.

예를 들어, 부동소수점 자료형인 floatdouble은 소수점 이하 자릿수가 다르며, 각각의 자료형은 다른 범위의 값까지 표현이 가능합니다.

3. 타입 안정성

세분화된 자료형을 사용하면, 코드의 타입 안정성을 유지할 수 있습니다.

예를 들어, 정수형 자료형으로 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$; // $

코드 컨벤션(Code Convention)

코드 컨벤션은 개발자들 사이에서 약속된 코드 작성 규칙으로, 코드의 가독성을 높이고 유지 보수를 쉽게 하기 위해 사용됩니다.

코드 컨벤션은 프로그래밍 언어마다 다를 수 있다.

다음은 캠프에서 따를 규칙이다.

1. 식별자 표기법

  • PascaleCase: 클래스, 메서드, 프로퍼티 이름 등에 사용됩니다.

단어의 첫 글자는 대문자로 시작하며, 이후 단어의 첫 글자도 대문자로 표기합니다.

ex) ClassName, MethodName

  • camelCase: 변수, 매개변수, 로컬 변수 이름 등에 사용됩니다.

단어의 첫 글자는 소문자로 시작하면, 이후 단어의 첫 글자는 대문자로 표기합니다.

ex) parameterName, localVariableName

  • 대문자 약어: 예외적으로 전체 글자가 모두 대문자인 식별자도 있음

ex) ID, HTTP, FTP

2. 들여쓰기

  • tab 또는 스페이스 4칸을 사용하여 코드 블록을 들여쓴다.

3. 중괄호 위치

  • 중괄호{}는 항상 새로운 줄에서 시작합니다.

4. 빈 줄 사용

  • 관련 없는 코드 사이에는 빈 줄을 사용하여 구분.
  • 메서드, 클래스 등의 블록 사이에는 두 줄을 띄어쓴다.


🔥 명시적 형변환, 암시적 형변환

명시적 형변환

명시적 형변환은 다음과 같이 (Data Type) 형식으로 수행할 수 있다.

    int num1 = 10;
    long num2 = (long)num1;

암시적 형변환

1. 작은 데이터 타입에서 더 큰 데이터 타입으로 대입하는 경우

  • byte, short, char 등 작은 데이터 타입에서 int, long ,float 등 더 큰 데이터 타입으로 대입할 때 암시적 형변환이 발생합니다.
    byte num1 = 10;
    int num2 = num1; // byte형에서 int형으로 암시적 형변환

2. 리터럴 값이 대입되는 경우

  • C# 컴파일러는 리터럴 값의 데이터 타입을 판별하여 변수에 암시적으로 형변환합니다.
    float result = 1; // 1은 int형 리터럴 값이지만 float형으로 암시적 형변환(더 큰 형태를 따라감)

3. 정수형과 부동소수점형 간의 연산을 수행한 경우

- 정수형과 부동소수점형의 연산 결과는 부동소수점형으로 변환됩니다.
    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 키워드를 사용하여 변수를 선언하면 변수의 자료형이 컴파일러에 의해 자동으로 결정됩니다.

var 키워드를 사용하면 리터럴에 따라 자료형이 결정된다.
(자료형을 정확히 알 수 없는 경우 유용)



0개의 댓글