Java

제네릭스

hs_developer 2022. 6. 25. 18:44

제네릭스은 <데이터타입>을 설정하는 건데

 

객체에 값을 삽입할 때 특정 데이터 타입만 삽입할 수 있도록 조건을 달아주는 것이다.

 

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