C# 기본 문법 학습노트

m0ng·2025년 4월 20일

🧠 C# 기본 문법 학습노트

C#을 배우고 난 뒤에 학습노트입니다.
문법뿐만 아니라 왜 이렇게 쓰는지, 어떻게 쓰는지를 쉽게 이해할 수 있도록 예제와 함께 설명합니다.


C# 콘솔 프로그램의 기본 구조

모든 C# 프로그램은 아래와 같은 형태로 시작합니다.

using System;

namespace BasicSyntaxDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello, C#");
        }
    }
}

📌 주요 요소 설명

    using System;
    → System 네임스페이스 안에 있는 클래스(: Console)를 사용하겠다는 선언입니다.
    → 자주 쓰는 기능을 불러오는 역할입니다.

    namespace BasicSyntaxDemo
    → 네임스페이스는 클래스들을 그룹으로 묶는 일종의 폴더 개념입니다.
    → 나중에 큰 프로젝트를 만들 때 코드 간 충돌을 방지합니다.

    class Program
    → 클래스는 객체를 정의하는 기본 단위입니다.
    → 모든 코드 블록은 클래스 안에 있어야 합니다.

    static void Main(string[] args)
    → 프로그램이 시작되는 지점입니다.
    → Main 메서드가 있어야 실행됩니다.

변수와 자료형

C#은 정적인 언어라서 변수를 선언할 때 타입을 반드시 지정해야 합니다.

🔸 자료형 정리

  • int: 정수형
    예시: int age = 20;

  • double: 실수형
    예시: double pi = 3.14;

  • bool: 참/거짓 값
    예시: bool isAdult = true;

  • char: 한 개의 문자
    예시: char grade = 'A';

  • string: 문자열
    예시: string name = "Tom";

  • var: 자동 타입 추론
    예시: var count = 100;

🔸 변수 선언과 초기화

int number;      // 선언만 (값 없음)
number = 10;     // 나중에 값 할당

string text = "Hello"; // 선언과 동시에 값 할당

var score = 99;  // var는 오른쪽 값을 보고 타입을 자동으로 추론 (여기선 int)

var는 편리하지만 초보자일 땐 명시적으로 타입을 쓰는 연습을 추천합니다.

연산자

연산자는 변수나 값을 조작하는 데 사용하는 기호입니다.

🔸 종류별 예시

int a = 5, b = 3;

// 산술 연산자
Console.WriteLine(a + b);  // 8
Console.WriteLine(a * b);  // 15

// 비교 연산자
Console.WriteLine(a > b);  // true

// 논리 연산자
Console.WriteLine(a > b && b > 0);  // true

조건문

조건문은 특정 조건에 따라 코드의 흐름을 분기하는 데 사용됩니다.

🔸 if-else 문

int score = 85;

if (score >= 90)
    Console.WriteLine("A");
else if (score >= 80)
    Console.WriteLine("B");
else
    Console.WriteLine("C 이하");

    조건은 위에서부터 아래로 순차적으로 검사됩니다.

    if는 조건이 참일 경우 실행되고, 거짓이면 다음 조건으로 넘어갑니다.

🔸 switch 문

char grade = 'B';

switch (grade)
{
    case 'A':
        Console.WriteLine("우수");
        break;
    case 'B':
        Console.WriteLine("보통");
        break;
    default:
        Console.WriteLine("재도전");
        break;
}

    변수의 값에 따라 여러 케이스 중 하나를 선택합니다.

    break를 쓰지 않으면 아래 코드까지 연달아 실행되니 주의해야 합니다.

반복문

반복문은 같은 작업을 여러 번 반복하고 싶을 때 사용합니다.

for 문

for (int i = 0; i < 5; i++)
{
    Console.WriteLine(i);
}

    변수 i를 0부터 시작해 5 미만까지 1씩 증가시키며 실행됩니다.

    반복 횟수가 정해져 있을 때 자주 사용됩니다.

🔸 while 문

int i = 0;

while (i < 5)
{
    Console.WriteLine(i);
    i++;
}

    조건이 참인 동안 계속 반복됩니다.

    조건을 잘못 설정하면 무한 루프가 될 수 있으니 주의!

🔸 foreach 문

string[] arr = { "A", "B", "C" };

foreach (var item in arr)
{
    Console.WriteLine(item);
}

    배열이나 컬렉션 안의 요소를 하나씩 꺼내어 반복합니다.

    순서대로 전체를 순회하고 싶을 때 유용합니다.

예외 처리

프로그램 실행 중 오류가 날 수 있는 부분을 안전하게 처리하는 구조입니다.

try
{
    int x = int.Parse("abc");  // 오류 발생 예상
}
catch (FormatException ex)
{
    Console.WriteLine("형식 오류: " + ex.Message);
}
catch (Exception ex)
{
    Console.WriteLine("오류 발생: " + ex.Message);
}
finally
{
    Console.WriteLine("항상 실행됩니다.");
}

    try: 오류가 발생할 가능성이 있는 코드

    catch: 오류 발생 시 실행할 코드

    finally: 오류 발생 여부와 상관없이 무조건 실행되는 영역

예외 처리를 하지 않으면 프로그램이 중단될 수 있습니다.

0개의 댓글