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 클래스를 정의하고 그 클래스의 객체를 생성하여 사용하는 방법을 보여줍니다.
참고자료
- Microsoft 공식 문서: 클래스 (C# 프로그래밍 가이드)
함께 보면 좋은 이전 게시글
- C# 프로그래밍 언어 소개, 주요 특징, 활용 분야
- C# 변수와 상수 이해하기: 선언, 할당, 사용
- C# 함수/메소드 기본 개념 및 작성 방법
- C# 구조체 활용하기: 정의부터 기본 메서드까지
- C# 확장 메서드 활용 및 사용 예제
이 글이 도움이 되셨다면 공유 부탁 드립니다.