Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 클래스 완벽 가이드: 개념부터 실전 예제까지

C#에서 클래스(class)는 데이터 타입의 설계도라고 할 수 있습니다. 이 설계도를 바탕으로 만들어진 실체가 바로 객체(object)이며, 객체는 곧 클래스의 인스턴스(instance)입니다. 또한 클래스를 구성하는 메서드와 변수들은 멤버(member)라고 부릅니다.

C# 클래스의 일반적인 구조

다음은 C#에서 클래스를 선언할 때 사용되는 기본 형식입니다.

<access specifier> class class_name {
    // 멤버 변수
    <access specifier> <data type> variable1;
    <access specifier> <data type> variable2;
    ...
    <access specifier> <data type> variableN;

    // 멤버 메서드
    <access specifier> <return type> method1(parameter_list) {
        // 메서드 본문
    }
    <access specifier> <return type> method2(parameter_list) {
        // 메서드 본문
    }
    ...
    <access specifier> <return type> methodN(parameter_list) {
        // 메서드 본문
    }
}

여기서 access specifier(접근 지정자)는 public, private 등 외부에서 해당 멤버에 접근할 수 있는 범위를 결정하며, data type은 변수의 자료형을 의미합니다.

클래스 생성 예제

이제 실제로 C#에서 클래스를 만들고 활용하는 방법을 예제를 통해 살펴보겠습니다. 아래 코드는 상자(Box)의 크기를 저장하고 부피를 계산하는 프로그램입니다.

using System;

namespace Demo {
    class Box {
        public double length;   // 상자의 길이
        public double breadth;  // 상자의 너비
        public double height;   // 상자의 높이
    }

    class Boxtester {
        static void Main(string[] args) {
            Box Box1 = new Box();   // Box 타입의 Box1 선언
            Box Box2 = new Box();   // Box 타입의 Box2 선언
            double volume = 0.0;     // 상자의 부피를 저장할 변수

            // 첫 번째 상자(Box1)의 크기 설정
            Box1.height = 5.0;
            Box1.length = 6.0;
            Box1.breadth = 7.0;

            // 두 번째 상자(Box2)의 크기 설정
            Box2.height = 10.0;
            Box2.length = 12.0;
            Box2.breadth = 13.0;

            // Box1의 부피 계산
            volume = Box1.height * Box1.length * Box1.breadth;
            Console.WriteLine("Volume of Box1 : {0}", volume);

            // Box2의 부피 계산
            volume = Box2.height * Box2.length * Box2.breadth;
            Console.WriteLine("Volume of Box2 : {0}", volume);
            Console.ReadKey();
        }
    }
}

실행 결과

위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.

Volume of Box1 : 210
Volume of Box2 : 1560

예제 해설

이 예제에서 Box 클래스는 길이(length), 너비(breadth), 높이(height)라는 세 개의 멤버 변수를 가지고 있습니다. Main 메서드 안에서 new 키워드를 사용해 Box1Box2라는 두 개의 객체(인스턴스)를 생성한 후, 각 객체마다 서로 다른 값을 할당했습니다.

같은 클래스로부터 만들어졌지만 각 객체는 독립적인 데이터를 가질 수 있다는 점이 핵심입니다. 즉, 하나의 클래스는 여러 개의 서로 다른 객체를 만들어내는 틀 역할을 하며, 이것이 C# 객체지향 프로그래밍의 기본 원리입니다.