본문 바로가기
개발 수업/JAVA

[Java] Generic

by 오늘 하루s 2023. 5. 24.
728x90
더보기

Day18-2. 230523

Generic

- 컴파일시 타입을 체크해주는 기능

- 객체의 타입 안정성을 높이고 형변환의 번거로움을 줄여줌.(하나의 컬렉션에는 대부분 한 종류의 객체만 저장)

 

장점)

1. 타입 안정성을 제공

2. 타입체크와 형변환을 생략할 수 있으므로 코드가 간결해짐.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package Chap13;
 
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
 
//Generic 이용한 컬렉션
public class Generic_p566 {
 
    public static void main(String[] args) {
        //List인터페이스 참조하는 ArrayList클래스 객체생성
        List<String> list = new ArrayList<String>(); //String만 넣음. //<> : 특정한 타입만 넣겠다.
        //list.add(1); //에러발생 //String타입을 제외한 데이터를 add할 수 없다.
        list.add("볼보");
        list.add("현대");
        list.add("아우디");
        for(String temp : list) {
            System.out.println(temp);
        }
        
        for(Object temp : list) { //class자동형변환 : 하위클래스->상위클래스
            System.out.println((String)temp); //class강제형변환 : 상위클래스->하위클래스 //(String)생략가능.
        }
        
        //Set인터페이스 참조하는 HashSet클래스 객체생성
        Set<String> set = new HashSet<String>();
        list.add("볼보1");
        list.add("현대1");
        list.add("아우디1");
        Iterator<String> iter = set.iterator();
        while (iter.hasNext()) {
            String str = iter.next();
            System.out.println(str+"("+str.length()+"글자)"); 
            }        
    }
}
cs
728x90