[JAVA]제네릭
카테고리: JAVA
[22] 제네릭
22.1. 제네릭(Generic) 프로그래밍
- 제네릭 자료형 (무엇이든 담을 수 있음)
- 클래스에서 사용하는 변수의 자료형이 여러개 일수 있고, 메서드는 동일한 경우 자료형을 특정하지 않고, 추후 해당 클래스를 사용할 때 지정할 수 있도록 선언.
- 실제 사용되는 자료형의 변환은 컴파일러에 의해 검증되므로 안정적인 프로그래밍 방식
- 컬렉션 프레임워크에서 많이 사용되고 있음.
- 자료형 매개변수 T (type parameter)
- 이 클래스를 사용하는 시점에 실제 사용할 자료형을 지정
- 여러 알파벳을 의미에 따라 사용 가능
- E : element
- K : key
- V : value
- <>
- 다이아몬드 연산자
GenericThreeDPrinter<Powder> powerPrinter = new GenericThreeDPrinter<>();
- 자료형 추론 (자바 10부터)
- 다이아몬드 연산자 내부에서 자료형은 생략가능 함
- 자료형 추론 (자바 10부터)
- 다이아몬드 연산자
22.2. 사용하기
- 상위 클래스의 필요성
- T 자료형의 범위를 제한 할 수 있음
- 상위 클래스에서 선언하거나 정의하는 메서드를 활용할 수 있음
- 상속을 받지 않는 경우 T는 Object로 변환되어 Object 클래스가 기본으로 제공하는 메서드만 사용가능
22.3. 제네릭 메서드
- 자료형 매개변수를 메서드의 매개변수나 반환 값으로 가지는 메서드
- 자료형 매개변수가 하나 이상인 경우도 있음
- 제넥릭 클래스가 아니어도 내부에 제네릭 메서드는 구현하여 사용 할 수 있음
public <자료형 매개변수> 반환형 메서드 이름(자료형 매개변수 ....) { }
댓글 남기기