C샵 컬렉션과 제네릭

타입 안전성을 보장하면서 코드 재사용성을 높이는 제네릭(Generics)의 활용법을 정리했다.

타입을 매개변수화하여 처리하는 기술이다.

제네릭 활용 사례

제네릭은 클래스나 메서드 정의 시 타입을 확정하지 않고 사용 시점에 결정한다.

// 1. 제네릭 리스트: 특정 타입만 허용하여 안정성 확보
List<int> numbers = new List<int>();
numbers.Add(10);
// numbers.Add("문자열"); // 컴파일 에러 발생

// 2. 제네릭 딕셔너리: Key와 Value 타입 조합
Dictionary<string, string> dict = new Dictionary<string, string>();
dict.Add("C#", "현대적인 언어");

// 3. 사용자 정의 제네릭 클래스
class DataWrapper<T> {
    public T Data { get; set; }
    public DataWrapper(T data) { Data = data; }
}

제네릭의 필요성

제네릭 도입 전에는 object 타입을 사용하여 모든 타입을 수용했으나, 형변환 과정에서 성능 저하와 타입 오류 위험이 존재했다.

제네릭은 성능(박싱 방지)안전성(컴파일 시점 체크)을 동시에 제공한다.

구조적 질서 확보

제네릭은 유연성과 엄격함을 동시에 갖춘 도구이다.

타입에 대한 명확한 약속을 통해 시스템의 안정성을 유지한다.

이 기능을 활용하여 범용적이고 견고한 라이브러리를 설계할 수 있는 것 같다.

Author avatar

웨이호프

WordPress creator and blogger.

View all posts