사용자정의 제네릭 클래스 - 제네릭 정의 형식, 제네릭 클래스 정의 객체생성, 제네릭 클래스 사용 단계, 제네릭 클래스 사용 단계, 제네릭 타입 생성 형식 (제네릭 객체 생성)

CODEDRAGON Development/Java

반응형


 

제네릭 정의 형식

[접근제한] class 클래스명<유형1, 유형2, 유형n>{}

 

 

 

제네릭 클래스 정의 객체생성

·       'T' 타입 변수(type variable)라고 하며, 임의의 참조형 타입을 의미합니다.

·       클래스를 정의 때는 v 데이터 타입을 확정하지 않고 인스턴스를 생성할 데이터 타입을 지정하는 기능입니다.

·       선언된 제네릭 클래스(generic class) 생성할 때에는 타입 변수 자리에 사용할 실제 타입을 명시해야 합니다.

·       GenericsEx 클래스에 사용된 타입 변수 T String타입을 사용하고 있습니다.

 

class GenericsEx<T> {

T[] v;

 

public void set(T[] n){

v = n;

}

public void print(){

for(T s : v)

System.out.println(s);

}

}

class GenericsEx<String> {

String[] v;

 

public void set(String[] n){

v = n;

}

public void print(){

for(String s : v)

System.out.println(s);

}

}

 

T s;

또는

T[] arr;

객체가 생성시 전달된 상징적 자료형(Generic Type)  String형이었다면 왼쪽의 코드는 다음과 같이 대체(代替)됩니다.

 

String s;

String[] arr;

 

 

 

 

제네릭 클래스 사용 단계

단계

코드

템플릿 형태의 자료형클래스 정의

class MyGeneric<T>{

}

템플릿 형태의 자료형클래스에 필요한 속성과 메서드 정의

class MyGeneric<T>{

private T element;

public void setElement(T data){

element = data;

}

public T getElement(){

return element;

}

}

제네릭 객체 생성

MyGeneric<String> mg1 = new MyGeneric<String>();

제네릭 객체 사용

mg1.setElement("코드드레곤");

System.out.println(mg1.getElement()); //코드드레곤

 

 

 

제네릭 타입 생성 형식 (제네릭 객체 생성)

Generic class 변수 선언과 생성

// 선언

GenericClass<적용할GenericType> 변수명;

 

//생성

변수명 = new GenericClass생성자명<적용할GenericType>();