제네릭스은 <데이터타입>을 설정하는 건데
객체에 값을 삽입할 때 특정 데이터 타입만 삽입할 수 있도록 조건을 달아주는 것이다.
import java.util.ArrayList;
public class GenericExample {
public static void main(String[] args) {
int arr[]= {1, 2, 3, 4};
ArrayList list= new ArrayList(); // 제네릭스을 사용하지 않은 list
list.add("abc");
list.add(123);
list.add(arr); // list에 데이터타입 제한 없이 add 가능
for(int i=0; i<list.size(); i++)
{
// 타입 확인하기
System.out.println(list.get(i).getClass().getName());
}
ArrayList<String> list2= new ArrayList<String>(); // 제네릭스을 이용한 list
list2.add("abc"); // <Generics>에 해당하는 데이터타입만 add 가능
}
}
java.lang.String
java.lang.Integer
[I
위 예제에서
ArrayList 작성 시 제네릭스를 입력하지 않으니 String, Integer, Array 등 여러 데이터 타입을 넣을 수 있다.
이게 좋아보일 수 있지만 실제 사용 시 여러 데이터 타입이 들어오면 처리가 힘들기 때문에
제네릭스을 설정해 특정 데이터 타입만 들어오게 한다.
'Java' 카테고리의 다른 글
다형성 (0) | 2022.06.25 |
---|---|
예외처리 (0) | 2022.06.25 |
인터페이스, 추상클래스 (0) | 2022.06.25 |
this, super (0) | 2022.06.25 |
오버라이드, 오버로드 (0) | 2022.06.25 |