제네릭 기반 클래스 정의
인스턴스 생성 시 T를 결정한다. 컴파일러는 <T>를 확인하고 제네릭 기반 클래스를 구분한다.
- 타입 매개변수(get)=T
- 타입 인자(give)=Apple
- 매개변수화 타입(인자를 전달 받아서 새로 만들어진 타입)= Box<Apple>
위의 코드는 프로그래머의 실수가 컴파일 단계에서 발견됐다. 코드의 안정성을 높여준다.
다중 매개변수 기반 제네릭 클래스 정의
타입 매개변수 이름 규칙
일반적인 관례
- 한 문자로 이름을 짓는다.
- 대문자로 이름을 짓는다.
보편적인 선택
- E: Element
- K: Key
- N: Number
- T: Type
- V: Value
타입 인자로 기본 자료형이 올 수 없다. 하지만 오토 박싱/언박싱으로 해결 가능하다.
다이아몬드 기호
참조 변수 선언을 통해 컴파일러가 <> 사이에 Apple 있다고 해석한다.
'Programming > Java' 카테고리의 다른 글
JAVA 22(1) 제네릭 2 (0) | 2021.08.14 |
---|---|
JAVA 21(3) 제네릭 1 (0) | 2021.08.13 |
JAVA 21 (1) 제네릭 1 (0) | 2021.08.13 |
JAVA 20(3) Arrays 클래스 (0) | 2021.08.12 |
JAVA 20(2) Math 클래스 (0) | 2021.08.12 |