Generic

YongJun·2023년 9월 15일

JAVA

목록 보기
19/24
post-thumbnail

Generic

  • 제네릭은 동적으로 타입을 결정하지 않고 컴파일 시 타입이 결정되므로 보다 안전한 프로그래밍이 가능하다
  • 실행 중에 타입 충돌 문제를 방지할 수 있다
  • 프로그램 개발 시 타입 캐스팅 절차가 필요 없어지고 ClassCastException을 방지 할 수 있다
  • 클래스 생성 시 타입을 명시해 준다.
  • < T > < E > < K > < V > 4개의 문자로 표시한다.
    < T > Type (데이터형)
    < E > Element (요소, 항목)
    < K > Key
    < V > Value

예제

package collection;

class GenericTest<T>{
	//객체를 생성할 때, T(타입 매개 변수)자리에 구체적인 자료형을 적어주면 된다.
	private T a;

	public T getA() {
		return a;
	}

	public void setA(T a) {
		this.a = a;
	}
	
	
}
public class GenericMain {

	public static void main(String[] args) {
		GenericTest<String> aa = new GenericTest<String>();
		aa.setA("홍길동");
		System.out.println("이름 = "+aa.getA());

		//aa.setA(25); //error : String타입으로 생성해줬기 때문에 integer타입은 사용불가
		
		GenericTest<Integer> bb = new GenericTest<Integer>(); //int X
		bb.setA(25);
		System.out.println("나이 = "+bb.getA());

	}
}
/*
이름 = 홍길동
나이 = 25
*/
profile
개(발자어)린이

0개의 댓글