이번 글에서는 제네릭을 메소드에 적용한 경우에 대해서 알아보도록 하겠습니다.
제네릭은 메소드에도 적용할 수 있습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 |
class EmployeeInfo{
public int rank;
EmployeeInfo(int rank){ this.rank = rank; }
}
class Person<T, S>{
public T info;
public S id;
Person(T info, S id){ //id 는 Integer입니다.
this.info = info; //T info는 EmployeeInfo 타입입니다.
this.id = id;
}
public <U> void printInfo(U info){ // 제네릭을 메소드에 적용한 모습입니다.
System.out.println(info);
}
}
public class GenericDemo {
public static void main(String[] args) {
EmployeeInfo e = new EmployeeInfo(1);
Integer i = new Integer(10);
Person<EmployeeInfo, Integer> p1 = new Person<EmployeeInfo, Integer>(e, i);
p1.<EmployeeInfo>printInfo(e);
//Person의 인스턴스인 p1을 사용해서 Person안에 있는 메소드 PrintInfo를 호출합니다.
//이때 PrintInfo 함수의 타입을 EmployeeInfo로 지정해줍니다.
p1.printInfo(e);
}
} |
cs |
'Java' 카테고리의 다른 글
UML 통합 모델링언어 / 클래스 다이어그램 (0) | 2017.10.11 |
---|---|
자바 죽음의 다이아몬드 문제 / java Deadly Diamond of Death (0) | 2017.09.28 |
자바 제네릭 / java generic (0) | 2017.09.23 |
java Garbage collection / 자바 가비지 컬렉션 (0) | 2017.09.23 |
이클립스에서 api 소스 보기 / attach source (0) | 2017.09.23 |
댓글