Project
제네릭 적용
우주코딩
2021. 8. 22. 20:14
제네릭 11-c
제네릭 적용
void add(Object value){
// 특정 객체만 추가하도록 제한할 수 없다.
}
Object get(){
// 매번 리턴값을 원래 타입으로 형변환 해야한다.
// 형변환 하기 번거롭다
}
제네릭 문법
class List<E> {
void add(E value);
E get(); // E = 타입 파라미터
// 객체를 생성할 때 E 자리에 들어갈 타입이 결정된다.
}
타입 정보를 받는 타입 파라미터의 이름은 일반 변수이름을 짓는 규칙과 같다. 그러나 타입을 지정하는 자리에 와야하기 때문에 한 두 자의 알파벳으로 이름을 짓는다.
눈에 띄게 하기위해서 대문자를 사용한다. 자바에서 제안하는 이름이 있고 대부분의 개발자가 그 이름을 사용한다.
T - type
E - element
인스턴스를 생성할 때 타입이름을 결정한다.
제네릭 타입의 배열을 만들 수 없다.