목록Java (181)
충분히 쌓여가는
지네릭 메서드 지네릭 타입이 선언된 메서드(타입 변수는 메서드 내에서만 유효) static void sort(List list, Comparator
와일드 카드 하나의 참조 변수로 대입된 타입이 다른 객체를 참조 가능 타입이 일치하지 않아도 된다 ArrayList: 제한 없음, 모든 타입이 가능,
제한된 지네릭 클래스 extends로 대입할 수 있는 타입을 제한 class FruitBox { // Fruit의 자손만 타입으로 지정가능 ArrayList list = new ArrayList(); ... } FruitBox appleBox = new FruitBox(); // OK FruitBox toyBox = new FruitBox(); // 에러, Toy는 Fruit의 자손이 아님 인터페이스인 경우에도 extends 사용 interface Eatable {} class FruitBox { ...} 코드 import java.util.ArrayList; class Fruit implements Eatable { public String toString() { return "Fruit";} } cl..
지네릭스 용어 Box 지네릭 클래스, T의 Box 또는 T Box라고 읽는다 T 타입 변수 또는 타입 매개변수(T는 타입 문자) Box 원시 타입(raw type) 지네릭 타입과 다형성 class Product {} class Tv extends Product {} class Audio extends Product {} 참조 변수와 생성자의 대입된 타입은 일치해야 한다 ArrayList list = new ArrayList(); // OK, 일치 ArrayList list = new ArrayList(); // 에러, 불일치 지네릭 클래스간의 다형성은 성립(여전히 대입된 타입은 일치해야한다) List list = new ArrayList(); // OK, 다형성. ArrayList가 List 구현 Lis..