제네릭 메서드(Generic method)

장점

클라이언트에서 매개변수/반환값을 명시적으로 형변환하지 않아도 된다

→ 더 안전하고, 사용하기 쉬움

제네릭을 사용하지 않은 경우

public static void makeJuice(Fruit fruit){
	//fruit 를 이용해 FruitJuice를 만드는 코드 
} 

class Fruit {...}
class Banana extends Fruit {...}

Banana banana = new Banana();
//method사용시 형변환(Fruit -> Banana)
JuiceMaker.makeJuice((Fruit)banana);

제네릭을 사용한 경우

public static <T> void makeJuice(T fruit){
	//fruit 를 이용해 FruitJuice를 만드는 코드 
} 

class Fruit {...}
class Banana extends Fruit {...}

Banana banana = new Banana();
//method사용시 명시적으로 형변환 해주지 않아도 됨
JuiceMaker.makeJuice(banana);