타입을 매개변수로 사용함
클래스, 메서드 인터페이스 등의 내부에서 타입을 지정하지 않고 외부에서 지정하도록 해주는 개념
- 정의할 때 실제 데이터 형식을 지정하지 않고 일반적인 형태로 작성할 수 있음
재사용성
동일한 코드를 여러 데이터 형식에 대해 재사용할 수 있음
타입 안정성 보장
컴파일 타임에 타입 지정
-> 잘못된 타입의 데이터를 사용하는 오류를 런타임이 아닌 컴파일 타임에 감지할 수 있음
박싱 언박싱이 필요 없음
제네릭은 특정한 데이터 형식에 의존하지 않기 때문에 값을 참조할 때 박싱이 발생하지 않음
List<int> 와 같은 제네릭 컬렉션에서는 int 값을 추가하거나 검색할 때 박싱이 발생하지 않음
List<int> list = new List<int>();
list.Add(13); // 박싱 없이 값이 추가
int a = list[0]; // 언박싱 없이 값이 추출
'취준 > 기술면접' 카테고리의 다른 글
람다식 (2) | 2024.02.07 |
---|---|
델리게이트 (delegate) (0) | 2024.02.01 |
배열, List, ArrayList, Dictionary (0) | 2024.01.29 |
가비지 컬렉터, 가비지 컬렉션 (0) | 2024.01.19 |
struct와 class (0) | 2024.01.17 |