[C#] 일반화 프로그래밍 (1)

Flaming Bun·2025년 4월 17일

C#

목록 보기
12/35

참고 영상: https://www.youtube.com/watch?v=G3Edvvp_YpA&list=PLVsNizTWUw7GN8wPRhclbKuQa9aI9Cj2V&index=12

🔥 일반화 프로그래밍(Generic Programming)

데이터 타입에 관계없이 재사용 가능한 알고리즘이나 자료구조를 작성하는 프로그래밍 패러다임이다.

한 가지 코드를 다양한 데이터 형식에 활용할 수 있다.

주로 제네릭(Generic)이라는 기능을 통해 구현한다.

제네릭 특징

  • 제네릭은 클래스나 메서드를 일반화시켜 다양한 자료형에 대응할 수 있는 기능이다.

  • 제네릭을 사용하면 코드의 재사용성을 높일 수 있다.

  • 제네릭 클래스나 메서드에서 사용할 자료형은 선언 시점이 아닌 컴파일 단계에 결정된다.


일반화 메서드

데이터 형식을 일반화한 메서드

메서드 이름 뒤에 형식 매개 변수< > 사이에 일반화 데이터 형식을 입력하여 작성한다.

⚔ 일반화 메서드

void CopyArray<T>(T[] arr, T[] target)
{
    for(int i=0; i < arr.Length; i++)
    {
    	target[i] = arr[i];
    }
}

⚔ 일반화 메서드 호출

int[] arr = {1,2,3,4,5};
int[] target = new int[arr.Length];

CopyArray<int>(arr, target);

일반화 클래스

데이터 형식을 일반화한 클래스

클래스 이름 뒤에 형식 매개 변수를 입력하여 작성한다.

⚔ 일반화 클래스

class GenericArray<T>
{
    private T[] array;
    public T GetElement(int idx)
    { return array[idx]; }
}

⚔ 일반화 클래스 객체 생성하기
클래스 이름 뒤에 형식 매개 변수< > 안에 구체적인 데이터 형식을 입력하여 객체를 생성한다.

GenericArray<int> intArr 
= new GenericArray<int>();

GenericArray<double> doubleArr
= new GenericArray<double>();

0개의 댓글