가자미의 개발이야기

[Java] 자바 제네릭의 상속과 타겟타입 본문

Java/자바 기본 문법

[Java] 자바 제네릭의 상속과 타겟타입

가자미 2021. 1. 22. 16:31

a. 제네릭 클래스와 상속

제네릭 클래스가 상속하려면 타입매개변수가 같아야한다..

SteelBox<String>은 Box<Integer>를 상속받지 않는다!

 

b. 타겟 타입

제네릭 클래스 Box와 제네릭 메소드 EmptyBoxFactory의 상황을 유심히보자

Box의 타입 매개변수에 맞춰 EmptyBoxFactory의 메소드도 결정된다.

 

이걸 타겟 타입이라고 부른다.

 

c. 제네릭 메소드와 일반 메소드의 차이

위는 제네릭 메소드 아래는 일반 메소드이다.

제네릭과 일반메소드 모두 Box의 인스턴스를 요구한다.

이때 일반 메소드는 오직 Object를 타입으로 한 Box인스턴스만 가능하다!!!(제네릭 클래스의 상속 참고)

제네릭 메소드는? Integer String...모두 가능!