03 타입 변수에 대입하기

타입 변수에 대입하기

객체를 생성 시, 타입 변수(E) 대신 실제 타입 예를들어 (Tv)를 대입해준다.

ArrayList<Tv> tvList = new ArrayList<Tv>(); // 타입 변수 E 대신 실제 타입 Tv를 대입

public class ArrayList extends AbstractList<E> { //일부 생략
	private transient Tv[] elementData;
    public boolean add(Tv o) { /* 내용생략 */ }
    public Tv get(int index) { /* 내용생략 */ } //Object가 아닌 Tv를 반환한다.
    ...
 }

※참고 이클립스 기능 

클래스 정의된 곳 찾아가서 Ctril + O 누르면 정의된 함수 찾을 수 있다.


실습>

import java.util.ArrayList;

public class GenericTest {
	public static void main(String[] args) {
    //ArrayList list = new ArrayList();
      ArrayList<Tv> list = new ArrayList<Tv> (); //Tv타입의 객체만 저장가능
      list.add(new Tv());
    //list.add(new Audio()); 에러발생
    
    //Tv t = (Tv)list.get(0); // list의 첫번째 요소를 꺼낸다. 형변환 적어줘야한다.
      Tv t = list.get(0); // 형변환 생략가능하다. 

'자바 > 12. 지네릭스, 열거형, 에너테이션' 카테고리의 다른 글

02 타입 변수  (0) 2021.06.22
01 지네릭스 (Generics)  (0) 2021.06.22

댓글()
구독