Programming/JAVA2011. 6. 16. 15:48

제네릭 ver 5.0부터 지원

제네릭은 데이터형을 정하지 않는것을 의미하고 데이터형은  값을 넘겨준후 데이터형이 결정된다.

 

 


package com.test0518;

class Demo2<T>{ //<T> 제네릭클래스 : 자료형이 결정되지 않은것이 있다.
 private T n;
 public void set(T t){
  this.n = t;
 }
 
 public T get(){
  return n;
 }
}

public class Test2 {
 public static void main(String[] args){
  Demo2 ob1 = new Demo2();   //Object이용 : 오브젝트이용시 가져와 대입할때는 반드시 캐스팅
  ob1.set("자바");
  //ob1.set(200);//아래에서 런타임 오류
  String s = (String)ob1.get(); //ob1.set(200); 의 경우 Integer형을 String로 캐스팅하려고 했기때문에...
  System.out.println(s);
  
  Demo2<Integer> ob2 = new Demo2<Integer>();  //제네릭이용
  ob2.set(100);
  Integer i = ob2.get();
  System.out.println(i);
  
  Demo2<Double> ob3 = new Demo2<Double>();
  ob3.set(10.0);
  Double d = ob3.get();
  System.out.println(d);
 }

}

Posted by 신의물방울