package sec04_exam01_generic_method;
// 제네릭 클래스
// <T> : Integer
public class Box<T> {
private T t; // 필드 Integer t:
public T get() { return t; } // 메소드 Integer get();
public void set(T t) { this.t = t; } // 메소드 set(Integer t)
}
package sec04_exam01_generic_method;
public class Utill {
/*
제네릭 메소드 문법구성
public static <타입파라미터> 리턴타입 메소드명(타입 매개변수){
return 변수;
}
일반메소드 문법구성
public static 리턴타입 메소드명(타입 매개변수) {
return 변수;
}
*/
//제네릭 메서드 정의 : 메소드에 타입파라미터 작업.
//메소드의 리턴타입 또는 매개변수에 사용하고자 하는 타입을 지정
//static 하나의 기억장소 공유
public static <T> Box<T> boxing(T t){
Box<T> box = new Box<T>();
box.set(t);
return box;
}
}
package sec04_exam01_generic_method;
public class BoxingMethodExample {
public static void main(String[] args) {
/* 기존 사용 개념
Box<Integer> box1 = new Box<Integer>();
int intValue = box1.get();
*/
Box<Integer> box1 = Utill.<Integer>boxing(100);
int intValue = box1.get();
Box<String> box2 = Utill.<String>boxing("김동연");
String StrValue = box2.get();
}
}