[c#] 코드 중복 최소화

1. 메서드 추출 (Extract Method)

메서드 추출은 반복되는 코드 블록을 새로운 메서드로 추출하여 중복을 제거하는 방법입니다.

class MyClass
{
    public void DoTask1()
    {
        // 중복 코드 블록
    }
    
    public void DoTask2()
    {
        // 중복 코드 블록
    }
    
    private void CommonTask()
    {
        // 중복 코드 블록 추출
    }
}

2. 상속 (Inheritance)

부모 클래스에 공통된 동작을 정의하고, 하위 클래스에서 상속받아 재사용하는 방법입니다.

class MyBaseClass
{
    public virtual void CommonTask()
    {
        // 공통된 동작 정의
    }
}

class MySubClass : MyBaseClass
{
    public override void CommonTask()
    {
        // 상위 클래스의 동작 재정의
    }
}

3. 인터페이스 (Interface)

인터페이스를 활용하여 다양한 클래스에서 공통적인 기능을 구현할 수 있습니다.

interface ICommonTask
{
    void DoCommonTask();
}

class MyClass : ICommonTask
{
    public void DoCommonTask()
    {
        // 공통 작업 구현
    }
}

4. 제네릭 (Generics)

제네릭을 사용하여 다양한 타입에서 동작할 수 있는 일반적인 클래스나 메서드를 작성하는 것이 가능합니다.

class MyGenericClass<T>
{
    public T DoSomething(T input)
    {
        // 일반적인 동작 구현
        return input;
    }
}

이러한 방법들을 통해 C#에서 코드 중복을 최소화할 수 있습니다. 요구 사항과 코드 구조에 따라 적합한 방법을 선택하여 코드를 최적화할 수 있습니다.