붓, 그리다
제너릭의 종류 1) Class 클래스명<T>{} 본문
3.제너릭의 종류
1) Class 클래스명<T>{}
- 자료형이 Object인 대신 사용하는 키워드 T(Type)
- 어떠한 자료형도 다 수용해주겠다는 표시
EX) 제너릭이 적용되는 클래스 작성
package j0620;
import static java.lang.System.out;
// 제너릭이 적용이 되는 클래스 작성 -> 특정 자료형의 값을 입력받아서 저장,조회,계산
public class GenericEX<T> {
String [] v;
// 1) v배열에 값을 저장시켜주는 메소드(Setter)
public void set(String [] n) {
v=n; //this.v=n;
}
// 2) v배열의 값을 꺼내서 화면에 출력(단순, 반복)
public void print() {
for(String s:v)
out.println(s);
}
}
EX2) 외부 배열의 자료형에 상관없이 항상 적용이 되는 클래스 만들기
package j0620;
import static java.lang.System.out;
// 제너릭이 적용이 되는 클래스 작성 -> 특정 자료형의 값을 입력받아서 저장,조회,계산
// 외부 배열의 자료형에 상관없이 항상 적용이 되는 클래스 만들기
public class GenericEX<T> {
//String [] v;
T [] v;
// 1) v배열에 값을 저장시켜주는 메소드(Setter)
public void set(T [] n) {
v=n; //this.v=n;
}
// 2) v배열의 값을 꺼내서 화면에 출력(단순, 반복)
public void print() {
for(T s:v)
out.println(s);
}
}
EX3) 자료형만 다르고 비슷한 기능을 가진 메서드를 호출
package j0620;
// 자료형만 다르고 비슷한 기능을 가진 메서드를 호출
public class GenericExMain {
public static void main(String[] args) {
// TODO Auto-generated method stub
GenericEX <String>ge=new GenericEX<String>();
GenericEX <Integer>ge2=new GenericEX<Integer>();
GenericEX <Double>ge3=new GenericEX<Double>();
String ss[]= {"제너릭", "제너릭 종류", "제너릭 적용연습"};
Integer ss2[]= {1,2,3};
Double ss3[]= {1.9, 3.4, 23.4};
ge.set(ss);
ge.print();
ge2.set(ss2);
ge2.print();
ge3.set(ss3);
ge3.print();
}
}
-> 중복코드를 생략할 수 있다(문장의 간결성)
'JAVA > Basic' 카테고리의 다른 글
제너릭의 종류 2.2) 와일드 카드 <? extends T> (1) | 2017.06.20 |
---|---|
제너릭의 종류 2.1) 와일드 카드 <?> (0) | 2017.06.20 |
제너릭 Genrics 개요 (0) | 2017.06.20 |
컬렉션 ★★ (0) | 2017.06.19 |
쓰레드 2 (동기화, Singleton) (0) | 2017.06.19 |
Comments