[c#] 클래스의 상세화

C#은 객체지향 프로그래밍 언어로, 클래스는 데이터 및 기능을 하나로 묶는 데 사용됩니다. 클래스는 객체의 모델이며, 데이터를 저장하고 해당 데이터에 대한 동작을 제공하는 일종의 청사진입니다. 이번 글에서는 C# 클래스의 구조와 사용법에 대해 자세히 알아보겠습니다.

클래스의 정의

클래스는 class 키워드를 사용하여 정의됩니다. 아래는 간단한 Car 클래스의 예시입니다.

class Car
{
    // 클래스 멤버 변수
    public string model;
    public string color;

    // 클래스 메서드
    public void Start()
    {
        Console.WriteLine("Engine started");
    }
}

위의 예제에서 Car 클래스는 model, color 두 개의 멤버 변수와 Start라는 메서드를 가지고 있습니다.

객체 생성과 사용

클래스를 사용하기 위해서는 우선 객체를 생성해야 합니다. 이를 인스턴스화(Instantiation)라고 합니다. 아래는 Car 클래스를 사용하는 예시입니다.

Car myCar = new Car();
myCar.model = "Toyota";
myCar.color = "Blue";
myCar.Start();

위의 예제에서는 Car 클래스의 객체를 생성하고, 객체의 속성에 값을 할당하고, 메서드를 호출하는 것을 보여줍니다.

상속과 다형성

C#에서는 클래스 간의 상속과 다형성을 지원합니다. 상속을 사용하여 기존 클래스의 기능을 재사용하고, 다형성을 통해 여러 클래스를 하나의 타입으로 다룰 수 있습니다.

class ElectricCar : Car
{
    // 추가적인 속성 및 메서드 정의
    public void Charge()
    {
        Console.WriteLine("Battery charged");
    }
}

위의 예제에서 ElectricCar 클래스는 Car 클래스를 상속받아 Charge 메서드를 추가로 정의하고 있습니다.

접근 제어 지시자

C#에서는 접근 제어 지시자를 통해 멤버 변수 및 메서드의 접근 범위를 지정할 수 있습니다. public, private, protected 등이 그 예시입니다.

class Car
{
    private string model;
    public string color;
    
    // 접근자 메서드를 통한 접근
    public string GetModel() 
    {
        return model;
    }
}

위의 예제에서 model 변수는 private으로 선언되어 외부에서 직접 접근할 수 없습니다.

이상으로 C# 클래스의 구조와 사용법에 대해 살펴보았습니다. 객체지향 프로그래밍의 중요한 개념인 클래스를 잘 이해하고 적절히 활용하면 보다 효율적이고 유지보수가 쉬운 코드를 작성할 수 있습니다.