'제네릭'에 해당되는 글 1건

  1. 2011.06.02 제네릭
Programming/Java2011. 6. 2. 14:52
1. 제네릭 클래스
public class ArrayList<E> extends AbstractList<E> implements List<E> ...{
public boolean add(E o)
}
- E(Element): 컬렉션에 저장하고 컬렉션에서 리턴할 원소의 유형 ex) String, int, ...
클래스 생성시 설정해준 E 값으로 클래스 안에서 사용 ex) ArrayList<String> a = new ArrayList<String>;

2. 제네릭 메소드
    
2.1 public <T extends Animal> void takeThing(ArrayList<T> list)
- Animal 클래스의 확장(extends)이나 구현(implements)만 객체로 받을 수 있다.
- public void takeThing(ArrayList<Animal> list) 과 다른 점은 이 메소드의 list 파라미터는
ArrayList<Animal> 만 가능하다 하지만 위의 경우 ArrayList<Animal> 뿐만아니라
Animal 클래스를 상속한 ArrayList<Dog>, ArrayList<Cat> 등도 다 가능하다.
     2.2 public static <T extends Comparable<? super T>> void sort(List<T> list)
- sort 메서드의 파라미터 List의 인자가 Comparable 클래스 유형이여야 한다.
- <? super T> 이건 Comparable의 유형 매개 변수가 T 또는 T의 상위 유형이어야 한다는 것 




Posted by Brian B. Lee