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

인스턴스를 생성할 때 타입이름을 결정한다.

제네릭 타입의 배열을 만들 수 없다.