본문 바로가기
Java

제네릭을 메소드에 적용하기

by 자유코딩 2017. 9. 23.

이번 글에서는 제네릭을 메소드에 적용한 경우에 대해서 알아보도록 하겠습니다.

 

제네릭은 메소드에도 적용할 수 있습니다.

 

 

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

댓글