제네릭 ( generics )

개념
특정 타입만 다루지 않고, 여러 종류의 타입으로 변신할 수 있도록 클래스나 메소드를 일반화시키는 기법

* 기본적으로 int, char, double 등의 기본 타입 사용 불가

* Integer, character, Double과 같은 클래스 타입을 사용해야 함.

* Ex) Stack<E> => Stack<Integer> // 정수타입의 스택 ( int(X) & integer(O) )

장점

  • 클래스나 메소드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있습니다
  • 반환값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있습니다.


Q. 제네릭기법은 오버로딩과 유사한 점이 있는데 어떤 차이가 있나
A. 두 개 다 다양한 유형의 호출에 응답할 수 있다는 특징을 가지고 있습니다 하지만
오버로딩은 메소드에 한에서, 매개변수의 유형과 "개수"까지 다르게 받을 수 있고,
제네릭기법은 클래스와 메소드에서 사용할 내부 데이터 타입에 대응하는 방법입니다


느낀점

제네릭이란 뭔가... 클래스와 메소드에서 활용할 데이터의 타입을 컴파일 단계에서 미리 지정하는 방법

+ Recent posts