korjun1993 / cs-book-study

책을 읽고 토론하며 컴퓨터과학을 공부하는 공간
0 stars 1 forks source link

지네릭스가 무엇인가요? #36

Open korjun1993 opened 1 year ago

korjun1993 commented 1 year ago
korjun1993 commented 1 year ago

지네릭스가 무엇인가요?

korjun1993 commented 1 year ago

지네릭스의 장점

korjun1993 commented 1 year ago

지네릭스를 사용하는 방법 class Box<T> { }

주의할 점

korjun1993 commented 1 year ago

타입 매개변수 T에 지정할 수 있는 타입 제한하기

Fruit 클래스의 자손들만 담기게 제한하기

class FruitBox<T extends Fruit> {
   ArrayList<T> list = new ArrayList<T>();
}

Eatable 인터페이스의 구현체만 담기게 하기

class FruitBox<T extends Eatable> {
   ArrayList<T> list = new ArrayList<T>();
}

클래스 Fruit의 자손이면서 Eatable 인터페이스도 구현해야 한다면 & 기호로 연결한다.

class FruitBox<T extends Eatable & Fruit> {...}