Java
115. 타입 변수 - 패스트캠퍼스 백엔드 부트캠프 3기
gkss2tpt
2025. 1. 3. 11:47
1. 타입 변수
- 클래스를 작성할 때, Object타입 대신 타입 변수(E)를 선언해서 사용.
public class ArrayList extends AbstractList {
private transient Object[] elementData;
public boolean add(Object o) { }
public Object get(int index) { }
}
// 변환
public class ArrayList<E> extends AbstractList<E> {
private transient E[] elementData;
public boolean add(E o) { }
public E get(int index) { }
}
2. 타입 변수에 대입하기
- 객체를 생성시, 타입 변수(E) 대신 실제 타입(Tv)을 지정(대입)
// 타입변수 E 대신에 실제 타입 Tv를 대입
ArrayList<Tv> tvList = new ArrayList<Tv>();
public class ArrayList<E> extends AbstractList<E> {
private transient E[] elementData;
public boolean add(E o) { }
public E get(int index) { }
}
// 변환
public class ArrayList extends AbstractList {
private transient Tv[] elementData;
public boolean add(Tv o) { }
public Tv get(int index) { }
}
- 타입 변수 대신 실제 타입이 지정되면, 형변환 생략가능
class Tv{}
class Audio{}
public class Ex09_1 {
public static void main(String[] args) {
ArrayList<Tv> list = new ArrayList<Tv>();
list.add(new Tv());
// list.add(new Audio()); // 타입일치X
Tv t = list.get(0); // list의 첫 번째 요소를 꺼낸다.
}
}