C# 클래스와 객체 이해하기

C# 클래스와 객체 이해하기


이 글에서는 C# 프로그래밍 언어에서 중요한 개념인 클래스와 객체에 대해서 알아보겠습니다. 클래스는 객체의 ‘틀’이며, 객체는 이 틀을 기반으로 실체화된 인스턴스입니다. 이 두 개념의 정의와 차이점, 그리고 예제 코드를 통해 자세히 알아보겠습니다.

클래스와 객체의 정의

클래스는 객체 지향 프로그래밍에서 특정 객체를 생성하기 위한 ‘틀’ 또는 ‘정의’로 볼 수 있습니다. 클래스는 객체의 특성(속성)과 할 수 있는 행동(메서드)을 정의합니다. 반면 객체는 클래스를 기반으로 생성된 실체(instance)입니다. 간단히 말해, 클래스는 설계도이며 객체는 그 설계도를 바탕으로 만든 제품입니다.

클래스와 객체의 차이점

클래스는 실체화되지 않은 설계도에 불과합니다. 반면, 객체는 클래스를 실체화한 것으로 실제 메모리에 할당된 상태입니다. 클래스 하나로 여러 객체를 생성할 수 있습니다.

예제 코드 1

// 클래스 정의하기
public class Dog
{
    // 멤버 변수(속성)
    public string name;

    // 메서드(행동)
    public void Bark()
    {
        Console.WriteLine(name + " says: Woof!");
    }
}

class Program
{
    static void Main()
    {
        // 객체 생성하기
        Dog myDog = new Dog();

        // 객체의 속성에 값 할당
        myDog.name = "Buddy";

        // 객체의 메서드 호출
        myDog.Bark();  // 출력: Buddy says: Woof!
    }
}

위의 예제에서 Dog는 클래스를 나타내며, myDog는 Dog 클래스를 바탕으로 생성된 객체입니다. 이를 통해 클래스와 객체의 차이점을 더 잘 이해할 수 있습니다.

예제 코드 2

// 클래스 정의하기: Car 클래스
public class Car
{
    // 멤버 변수 (속성)
    public string color;

    // 메서드 (행동)
    public void Drive()
    {
        Console.WriteLine("차가 " + color + "색으로 달립니다.");
    }
}

class Program
{
    static void Main()
    {
        // 객체 생성하기
        Car myCar = new Car();

        // 객체의 속성에 값 할당
        myCar.color = "빨강";

        // 객체의 메서드 호출
        myCar.Drive();  // 출력: 차가 빨강색으로 달립니다.
    }
}

위 사용 예제에서는 Car 클래스를 정의하고 그 클래스의 객체를 생성하여 사용하는 방법을 보여줍니다.

참고자료

함께 보면 좋은 이전 게시글

위로 스크롤