자바에서 Generic은 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법을 의미한다.
???.. 그럼 왜 이렇게 사용하는 것 일까.? 일단 사전에 데이터 타입을 정의할 필요가 없는 파이썬 코드를 보자.
def plusValues(a, b):
return a+b
a = 1;
b = 2;
c = 1.1;
d = 'hello'
plusValues(a,b); // 3
plusValues(a+c); //2.1
plusValues(a+d); //1hello
하지만 Java는 데이터 타입을 정의해야 하기 때문에 여러 타입의 연산을 지원하기 위해서 더 많은 메소드를 생성해야한다.😶
int a = 1;
int b = 2;
double c = 1.1;
String d = "hello";
public void PlusValues(int a, int b){
}
public void PlusValues(int a, double b){
}
public void PlusValues(int a,String b){
}
하지만 제네릭을 사용하게 된다면??
public class Generic<T, U, E> {
public E multiTypeMethod(T t, U u) { ... }
}
이렇게 식을 단순화 시킬 수 가 있다.
그래서 이거를 왜 쓰고 어떻게 동작이 되는건데..?
다음 포스팅에 열심히 공부해서.. 정리하겠습니다.. 죄송합니다. ^^😥