-
[JAVA] 제네릭(Generic) 프로그래밍Language/Java 2021. 6. 10. 00:13
제네릭(Generic) 자료형- 클래스에서 사용하는 변수의 자료형이 여러 개 일 수 있고, 그 메서드는 동일한 경우 클래스의 자료형을 특정하지 않고 추후 해당 클래스를 사용할 때 지정할 수 있도록 선언하는 방식이다.
- 실제 사용되는 자료형의 변환은 컴파일러에 의해 검증되기 때문에 안정적인 프로그래밍 방식이다.
- 컬렉션 프레임 워크에서 많이 사용되고 있다.
제네릭 프로그래밍 예
- 자료형 매개변수 T(type parameter): 해당 클래스를 사용하는 시점에 실제 사용할 자료형을 지정, static 변수는 사용할 수 없다.
- GenericPrinter: 제네릭 자료형
- E: element, K: key, V: value등 여러 알파벳을 의미에 따라 사용할 수 있다.
다이아몬드 연산자 <>- <>를 다이아몬드 연산자라고 칭한다.
=> ArrayList list = new ArrayList<>( );
=> var list = new ArrayList( ); (Java 10부터)
T extends 클래스
- T 자료형의 범위를 제한할 경우 사용한다.
- 상위 클래스에서 선언하거나 정의하는 메서드를 활용할 수 있다.
- 상속을 받지 않는 경우 T는 Object를 가르키므로 Object클래스에서 제공하는 기본 메서드만 사용할 수 있다.
- T extends 사용 예
제네릭 메서드(Generic Method)
- 자료형 매개변수를 메서드의 매개변수나 반환 값으로 갖는 메서드
- 제네릭 클래스가 아니어도 내부에 제네릭 메서드는 구현하여 사용할 수 있다.
=> public <자료형 매개 변수> 반환형 메서드 이름(자료형 매개변수) { }
제네릭 메서드(Generic Method) 사용 예
- Point.java
- GenericMethod.java
'Language > Java' 카테고리의 다른 글
[JAVA/자료구조] 버블 정렬(Bubble Sort) (0) 2021.06.12 [JAVA/자료구조] 삽입 정렬(Insertion Sort) (0) 2021.06.12 [JAVA/자료구조] 배열(Array) (0) 2021.06.08 [JAVA/자료구조] 자료구조(Data Structure) (0) 2021.06.08 [JAVA] Object 클래스와 Class클래스 (0) 2021.06.07