본문 바로가기

개발 공부

제네릭 이란?

자바에서 ArrayList<> 이것처럼 <>안에 들어가는 타입들을 제네릭이라고 한다.

<>안에는 실제 데이터 타입인 String이나, Intager 등이 들어갈 수도 있지만 T, E와 같이 임의의 타입이 들어갈 수도 있다.

이 처럼 데이터 타입을 일반화 하는것을 제네릭 이라고 한다.

즉, 타입변수를 생성하는 것인데 먼저 <>안에 T 라는 타입 변수를 지정했다고 예를 들어보자. 그러면 나중에 이T라는 타입을 String으로 지정만 해주면 T -> String 타입으로 변환 되어 컴파일 된다.

class Person<T>{
	public T info;
}
Person<String> p1 = new Person<String>();

장점으로는

1. 클래스나 메서드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있다.

2. 반환값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있다.

3. 타입에 대해 유연성과 안정성을 확보한다.

4. 런타임 환경에 영향을 주지 않는 전처리 기술이다.

이 있다.