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();

        }

    }

}




 

 

'JAVA' 카테고리의 다른 글

자료구조 - Stack / TreeSet  (0) 2014.09.12
자료구조 API - Collection 프레임워크  (0) 2014.09.12
자료구조 API - Vector 클래스  (0) 2014.09.12
자료구조 API - ArrayList  (0) 2014.09.12
Wrapper클래스  (0) 2014.09.12

+ Recent posts