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>();
|
'Development > Java' 카테고리의 다른 글
자바의 GUI프로그래밍 (0) | 2019.06.11 |
---|---|
JAVA API 문서 경로, Java SE API Documentation (0) | 2019.06.08 |
Joda-Time - 자바의 Date와 Time클래스를 대채하기 위해 만든 라이브러리 (0) | 2019.05.30 |
JAVA(자바) – 자바의 탄생, 오크(Oak), 자바의 특징 (0) | 2019.05.29 |
Summary - 생성자, 상속과 다형성, 체크 예외, 컬렉션 (0) | 2019.05.24 |