자료구조 API - 제네릭(Generic)
1. 제네릭(Generic)
- 자료구조관련클래스(ArrayList,Vector,..)에 특정클래스타입만 저장할 수 있도록 설정하는 것
- 자료구조관련 클래스에 실수로 다른 클래스타입을 저장됨을 방지할 수 있다. (안전하게 사용가능)
- 저장된 객체를 꺼내올때 형변환을 하지 않아도 된다.
- JDK5.0 이상 버전부터 사용 가능하다.
- 형식
클래스명<저장할클래스타입> 객체명=new 클래스명<저장할클래스타입>();
ex>
import java.util.ArrayList;
class Test04_Generic{
public static void main(String[] args)
{
//ArrayList에는 String타입의 객체만 저장하도록 설정
ArrayList<String> list=new ArrayList<String>();
list.add("홍길동0");
list.add("홍길동1");
list.add("홍길동2");
//list.add(10);
//-->오류발생:String외의 타입은 사용못함
for(int i=0;i<list.size();i++){
// 제네릭을 사용하면 요소를
// 꺼내올때 형변환 하지 않아도 됨
String str=list.get(i);
System.out.println(str);
}
System.out.println("====================");
// list1객체에는 Student타입의
// 객체만 저장하도록 설정
ArrayList<Student> list1=new ArrayList<Student>();
list1.add(new Student(1,100,80));
list1.add(new Student(2,80,90));
list1.add(new Student(3,100,100));
for(int i=0;i<list1.size();i++){
//제네릭을 사용했으므로 형변환하지 않음
Student stu=list1.get(i);
stu.printStu();
}
}
}