객체 지향 C#

C#의 클래스와 객체

이 레슨에서는 속성과 메서드가 있는 클래스를 정의하고, 객체를 만들어 상태를 바꿉니다.

소개

클래스는 어떤 종류의 객체가 가지는 데이터(속성)와 동작(메서드)을 설명하는 설계도와 같습니다. 하나의 클래스로 여러 객체를 만들 수 있으며, 각 객체는 자기만의 데이터를 가집니다.

Value 속성은 get은 public이지만 set은 private입니다. 바깥에서는 값을 읽을 수만 있고, 바꾸는 것은 클래스 안에서만 가능합니다. Increment() 메서드가 Value를 늘리는 유일한 방법이므로 객체의 상태가 항상 통제됩니다. Increment()를 두 번 호출한 뒤 출력되는 값은 2입니다.

실행 가능한 C# 예제

C#
코드 실행 →
Program.cs
using System;

class Counter
{
    public int Value { get; private set; }
    public void Increment() => Value++;
}

class Program
{
    static void Main()
    {
        var counter = new Counter();
        counter.Increment();
        counter.Increment();
        Console.WriteLine(counter.Value);
    }
}
실행 결과
2

디버거로 연습하기

중요한 대입이나 조건에 중단점을 두고 Debug를 눌러 다음 줄로 넘어가기 전에 지역 변수 값을 확인하세요.

챌린지로 연습하기

이 레슨에서 배운 내용으로 실제 문제를 풀어 보세요. 모든 챌린지는 브라우저에서 실행되며 즉시 테스트와 AI 리뷰를 받을 수 있습니다.

모든 챌린지