본문 바로가기

Language55

[Java] 지네릭스_지네릭 메서드 지네릭 메서드 : 메서드의 선언부에 지네릭 타입이 선언된 메서드 : 지네릭 타입의 선언 위치는 반환 타입 바로 앞 static void sort(List list, Comparator 2022. 7. 29.
[Java] 지네릭스_와일드 카드 와일드 카드? : 여러 가지 타입의 매개변수를 사용하기 위해서 제한 없음. 모든 타입이 가능. 2022. 7. 29.
[Java] 지네릭스_제한된 지네릭 클래스 타입 매개변수 T에 지정할 수 있는 타입의 종류를 제한해보자 class FruitBox { ArrayList list = new ArrayList(); ... } FruitBox appleBox = new FruitBox(); // OK FruitBox toyBox = new FruitBox(); // 에러. Toy는 Fruit의 자손이 아님 ※ 인터페이스를 구현할 때도 'implements'가 아닌 'extends'를 사용 interface Eatable {} class FruitBox { ... } // 클래스 Fruit의 자손이면서 Eatable 인터페이스도 구현해야 한다면 class FruitBox { ... } 2022. 7. 29.
[Java] 지네릭스_지네릭 클래스의 객체 생성과 사용 1. 3 지네릭 클래스의 객체 생성과 사용 : 참조변수와 생성자에 대입된 타입이 일치해야 함 Box appleBox = new Box(); // OK Box appleBox = new Box(); // 에러 두 타입이 상속관계에 있어도 마찬가지. Apple이 Fruit의 자손이라고 가정하자. Box appleBox = new Box(); // 에러. 대입된 타입이 다르다. 두 지네릭 클래스의 타입이 상속관계에 있고, 대입된 타입이 같은 것은 OK Box appleBox = new FruitBox(); // Ok. 다형성 추정이 가능한 경우 생략 가능 Box appleBox = new Box(); Box appleBox = new Box(); // 생략가능 생성된 Box의 객체에 객체를 추가할 때, 대입된.. 2022. 7. 29.