아 응애요

3. 다음 코드를 실행해보고 물음에 답하시오.

g) 코드에 제네릭 클래스의 객체 변수 d를 추가로 생성하고 d.setBeverage(new Beer) 문장과 Beer a = d.getBeverage() 문장을 추가하여 실행해 보시오결과에 대하여 설명하시오.


 

 


 

4. 다음 코드는 3번 코드를 수정한 것이다. Beer, Boricha처럼 일반 클래스 Water, Juice를 추가하시오여기서클래스 이름을 출력할 수 있도록 각 클래스에서 toString()를 오버로딩하는 것이 필요하다또한 제네릭 메소드 mixBeverage()를 생성하려고 한다그런 다음 제네릭 클래스의 객체를 두 개 생성하여 두 개 음류수 객체들을 이용하여 칵테일을 만드는 것처럼 아래 출력예시와 같이 문장을 출력하려고 한다빈 곳을 채우시오

출력예시) Water, Boricha의 칵테일

 

class Cup<T> {

 private T beverage;

 public T getBeverage() { return beverage; } 

 public void setBeverage(_______________) {

  this.beverage = beverage;

 }

 

}

 

class Beer {

@Override

 public String toString() {

  return "Beer";

 }

}

 

class Boricha {

@Override

 public String toString() {

  return __________;

 }

}

 

______________ {

_______________________________

_______________________________ {

_______________________________;

 }

}

 

______________ {

_______________________________

_______________________________ {

_______________________________;

 }

}

 

public class GenericClass {

 

 public static void main(String[] args) {

  

  Cup<_________> c = new Cup<___________>();

  Cup<_________> d = new Cup<___________>();

 

  c.setBeverage(_________________);

  d.setBeverage(_________________);

 

  mixBeverage(_____________, _____________);

 

 }

 public static <__> void mixBeverage(__ beverage1, __ beverage2) {

  System.out.println(________________________________);

 }

 

}