[c#] C#의 객체지향 프로그래밍

C#은 Microsoft사에서 개발한 객체지향 프로그래밍 언어로, 객체, 클래스, 상속, 다형성 등의 개념을 활용하여 프로그램을 작성합니다.

객체지향 프로그래밍이란

객체지향 프로그래밍(OOP)은 프로그램을 객체의 모음으로 간주하고, 이러한 객체들 간의 상호작용으로 프로그램을 구현하는 프로그래밍 패러다임입니다. C#은 이러한 OOP의 특징들을 내재적으로 지원하여 소프트웨어 개발을 보다 편리하게 만들어줍니다.

클래스와 객체

객체지향 프로그래밍에서 클래스는 객체를 생성하기 위한 템플릿이며, 객체는 이러한 템플릿에 의해 생성된 인스턴스를 말합니다. C#에서는 class 키워드를 사용하여 클래스를 정의하고, new 키워드를 사용하여 객체를 생성합니다.

public class Car
{
    public string model;
    public string color;

    public void Start()
    {
        // Car starting logic
    }
}

class Program
{
    static void Main()
    {
        Car myCar = new Car(); // 객체 생성
        myCar.model = "Tesla";
        myCar.color = "Red";
        myCar.Start(); // 객체의 메서드 호출
    }
}

상속

C#에서는 상속이라는 기능을 통해 이미 존재하는 클래스의 속성과 기능을 다른 클래스에서도 재사용할 수 있습니다. 이를 통해 코드의 중복을 최소화하고 유지보수성을 높일 수 있습니다.

public class ElectricCar : Car
{
    public int batteryCapacity;

    public void Charge()
    {
        // Charging logic
    }
}

다형성

C#은 다형성(polymorphism)을 지원하여 한 가지 인터페이스나 부모 클래스를 통해 여러 가지 형태의 파생 클래스를 사용할 수 있습니다.

Car myCar = new Car();
Car myElectricCar = new ElectricCar();

C#의 객체지향 프로그래밍은 유연하며 강력한 기능을 갖춘 언어로, 복잡한 애플리케이션의 개발을 효율적이고 유연하게 할 수 있습니다.

참고문헌: