티스토리 뷰
컴파일할 때 데이터 타입을 확정짓지 않고 실행 시 데이터 타입을 확정짓는 것을
의미
다른 언어의 템플릿 기능과 유사
, 즉 미지정 자료형을 사용
컴파일
시에 타입이 결정되어 보다 안전한 프로그래밍 가능
개발 시
다운캐스팅(타입
캐스팅)
절차
불필요
런타임
타입 충돌 문제 방지
ClassCastException 방지
class Generic<T> {
private T data[];
public Generic(T... n) {
data = n; // 미확정자료형인 T타입의 n을 인자로 받아 data에 대입
}
public void disp() {
for (T i : data) {
System.out.print(i+"\t");
}
}
}
public class GenericMain {
public static void main(String[] args) {
// TODO Auto-generated method stub
Generic<String> obj1 = new Generic<String>("Hello", "Java");
Generic<String> obj2 = new Generic<String>("Hello", "Java", "Test");
Generic<Integer> obj3 = new Generic<Integer>(1, 2, 3);
Generic<Character> obj4 = new Generic<Character>('4');
// String형과 Integer 타입의 인자를 갖는 Generic 객체 생성
obj1.disp();
obj2.disp();
obj3.disp();
obj4.disp();
}
}
Hello Java Hello Java Test 1 2 3 4
'java,web study > 3주차 (7월 15일 ~21일)' 카테고리의 다른 글
깜박이는 레이블 (0) | 2013.07.17 |
---|---|
Label (0) | 2013.07.17 |
빠른 열거 (0) | 2013.07.16 |
String Format (0) | 2013.07.16 |
String의 대입 연산 (0) | 2013.07.16 |
댓글