스펀지연구소 2021. 6. 22. 19:18

타입변수

클래스를 작성할 때, Object 타입 대신 타입 변수 E 를 선언해서 사용한다.

(※참고 E 대신 T , EE, Y 등 대문자 한글자로 쓸 수 있다. )

//JDK 1.5 16년전 옛날에는
public class ArrayList extends AbstractList { //일부 생략
	private transient Object[] elementData;
    public boolean add(Object o) { /* 내용생략 */ }
    public Object get(int index) { /* 내용생략 */ }
    ...
 }
 
 
 //지네릭클래스에서는 Object 타입을 타입변수(E)를 선언해서 사용한다.
 public class ArrayList<E> extends AbstractList<E> { //일부 생략
	private transient E[] elementData;
    public boolean add(E o) { /* 내용생략 */ }
    public E get(int index) { /* 내용생략 */ }
    ...
 }