제네릭

빵어 ㅣ 2024. 1. 30. 22:01

타입을 매개변수로 사용함

클래스, 메서드 인터페이스 등의 내부에서 타입을 지정하지 않고 외부에서 지정하도록 해주는 개념

- 정의할 때 실제 데이터 형식을 지정하지 않고 일반적인 형태로 작성할 수 있음

 

재사용성

동일한 코드를 여러 데이터 형식에 대해 재사용할 수 있음 

 

타입 안정성 보장

컴파일 타임에 타입 지정

-> 잘못된 타입의 데이터를 사용하는 오류를 런타임이 아닌 컴파일 타임에 감지할 수 있음

 

박싱 언박싱이 필요 없음

제네릭은 특정한 데이터 형식에 의존하지 않기 때문에 값을 참조할 때 박싱이 발생하지 않음

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