타입 매개변수 T에 지정할 수 있는 타입의 종류를 제한해보자
class FruitBox<T extends Fruit> {
ArrayList<T> list = new ArrayList<T>();
...
}
FruitBox<Apple> appleBox = new FruitBox<Apple>(); // OK
FruitBox<Toy> toyBox = new FruitBox<toy>(); // 에러. Toy는 Fruit의 자손이 아님
※ 인터페이스를 구현할 때도 'implements'가 아닌 'extends'를 사용
interface Eatable {}
class FruitBox<T extends Eatable> { ... }
// 클래스 Fruit의 자손이면서 Eatable 인터페이스도 구현해야 한다면
class FruitBox<T extends Fruit & Eatable> { ... }
'Language > java' 카테고리의 다른 글
[Java] 지네릭스_지네릭 메서드 (0) | 2022.07.29 |
---|---|
[Java] 지네릭스_와일드 카드 (0) | 2022.07.29 |
[Java] 지네릭스_지네릭 클래스의 객체 생성과 사용 (0) | 2022.07.29 |
[Java] 지네릭스란? (0) | 2022.07.28 |
[Java] 컬렉션 프레임윅 (Collections) (0) | 2022.07.28 |
댓글