제네릭 ( generics )
개념
특정 타입만 다루지 않고, 여러 종류의 타입으로 변신할 수 있도록 클래스나 메소드를 일반화시키는 기법
* 기본적으로 int, char, double 등의 기본 타입 사용 불가
* Integer, character, Double과 같은 클래스 타입을 사용해야 함.
* Ex) Stack<E> => Stack<Integer> // 정수타입의 스택 ( int(X) & integer(O) )
장점
- 클래스나 메소드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있습니다
- 반환값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있습니다.
Q. 제네릭기법은 오버로딩과 유사한 점이 있는데 어떤 차이가 있나
A. 두 개 다 다양한 유형의 호출에 응답할 수 있다는 특징을 가지고 있습니다 하지만
오버로딩은 메소드에 한에서, 매개변수의 유형과 "개수"까지 다르게 받을 수 있고,
제네릭기법은 클래스와 메소드에서 사용할 내부 데이터 타입에 대응하는 방법입니다
느낀점
제네릭이란 뭔가... 클래스와 메소드에서 활용할 데이터의 타입을 컴파일 단계에서 미리 지정하는 방법
'JAVA' 카테고리의 다른 글
[JAVA] [끄적임] 컬렉션 정리-2 컬렉션 프레임워크의 종류와 장단점 (0) | 2022.08.29 |
---|---|
[JAVA] [끄적임] 컬렉션 정리-1 컬렉션 프레임워크의 구조 (0) | 2022.08.29 |
[JAVA] [끄적임] Comparable & Comparator (0) | 2022.08.29 |
[JAVA] [끄적임] 입출력 스트림과 버퍼 스트림 (0) | 2022.08.29 |
[JAVA] [끄적임] 인터페이스 간단 정리 (0) | 2022.08.24 |