C# 클래스와 객체 마스터하기: 실전 예제로 배우는 객체지향 프로그래밍
C#은 C++의 강력한 객체 지향 기초 위에 구축되었습니다. 클래스와 객체에 대한 내장 지원으로 개발자는 현실 세계의 엔티티를 깔끔하고 유지보수하기 쉬운 코드로 모델링할 수 있습니다.
직원 레코드를 관리하는 애플리케이션을 생각해 보세요. Employee 클래스는 ID와 Name 같은 속성을 저장하고, 레코드 추가나 업데이트를 위한 메서드를 노출합니다.
이 가이드에서는 다음을 배웁니다:
- 클래스와 객체가 무엇인지 정의
- Visual Studio에서 클래스 생성과 객체 인스턴스화
- 필드, 속성, 메서드 다루기
클래스와 객체란 무엇인가?
클래스는 데이터(필드 또는 속성)와 동작(메서드)을 캡슐화하는 청사진입니다. 객체는 그 청사진의 인스턴스로, 필드에 대한 구체적인 값을 가집니다.
클래스 내부에서:
- 필드나 속성은 클래스가 보유한 데이터를 설명합니다.
- 메서드는 그 데이터에 수행할 수 있는 연산을 정의합니다.
간단한 예로 Tutorial 클래스가 학습 모듈을 나타낸다고 가정해 보겠습니다.
이 클래스는 다음을 포함합니다:
- TutorialID – 고유한 숫자 식별자
- TutorialName – 튜토리얼 이름을 문자열로
또한 두 메서드를 정의합니다:
- SetTutorial – 인스턴스에 ID와 이름 할당
- GetTutorial – 튜토리얼 이름 조회
아래는 클래스 구조의 시각적 표현입니다.

이 클래스의 객체를 생성하면 각 객체는 고유한 값을 가집니다:

Visual Studio에서 클래스와 객체 만들기
기존 콘솔 프로젝트를 열거나 새로 만듭니다. Tutorial 클래스를 추가하는 다음 단계를 따르세요:
1단계 – 새 클래스 추가
솔루션 탐색기에서 프로젝트(예: DemoApplication)를 우클릭하고 추가 → 클래스를 선택한 후 이름을 Tutorial.cs로 지정합니다.

2단계 – 클래스 이름 지정
대화상자에서 Tutorial.cs를 입력하고 추가를 클릭합니다. Visual Studio가 템플릿 파일을 삽입합니다:

추가 후 파일에는 기본 클래스 골격이 포함됩니다:

Tutorial.cs를 열고 다음 구현으로 플레이스홀더를 교체합니다.
필드와 메서드 정의
다음 멤버를 삽입합니다:
class Tutorial {
int TutorialID;
string TutorialName;
public void SetTutorial(int pID, string pName) {
TutorialID = pID;
TutorialName = pName;
}
public string GetTutorial() {
return TutorialName;
}
static void Main(string[] args) {
Tutorial pTutor = new Tutorial();
pTutor.SetTutorial(1, ".Net");
Console.WriteLine(pTutor.GetTutorial());
Console.ReadKey();
}
}
SetTutorial 메서드는 전달받은 매개변수를 클래스 필드에 할당하고, GetTutorial은 저장된 이름을 반환합니다. Main 메서드는 인스턴스 생성, 초기화, 결과 표시를 시연합니다.
프로그램 실행 결과:

보시는 바와 같이 콘솔에 .Net이 출력되어 객체 상태가 올바르게 설정되고 조회되었음을 확인할 수 있습니다.
핵심 요약
- 클래스는 관련 데이터와 동작을 그룹화합니다.
- 객체는 해당 클래스의 인스턴스화된 복사본으로 고유한 데이터를 가집니다.
- 필드는 상태를 보관하고, 메서드는 동작을 수행합니다.