[java] 제네릭 타입의 타입 변수 간 상속 관계
제네릭 타입에서는 타입 변수 간에도 상속 관계가 성립하는데, 이는 일반적인 클래스와 비슷한 방식으로 동작합니다.
class Box<T> { /* ... */ }
class AppleBox<T> extends Box<T> { /* ... */ }
위의 예시에서 AppleBox
클래스는 Box
클래스를 확장하며, Box
클래스가 가진 제네릭 타입 T
를 상속받습니다.
또한 부모 클래스에서 상속받은 제네릭 타입을 자식 클래스에서 동일하게 사용하거나, 새로운 타입 변수를 추가할 수도 있습니다.
class AppleBox<T, U> extends Box<U> { /* ... */ }
자식 클래스에서 새로운 타입 변수 U
를 추가하여 확장하는 것도 가능합니다. 이처럼 제네릭 타입은 상속과 확장에서도 유연하게 사용될 수 있습니다.
이처럼, 제네릭 타입에서도 클래스 간의 상속 관계를 유지하면서 타입 변수를 공유하거나 확장할 수 있습니다. 이를 통해 다양한 상황에 유연하게 대처할 수 있는 제네릭 클래스를 설계할 수 있습니다.