Programming/Java

JAVA 21(2) 제네릭 1

사랑우주인 2021. 8. 13. 10:28

제네릭 기반 클래스 정의

인스턴스 생성 시 T를 결정한다. 컴파일러는 <T>를 확인하고 제네릭 기반 클래스를 구분한다. 

 

- 타입 매개변수(get)=T

- 타입 인자(give)=Apple

- 매개변수화 타입(인자를 전달 받아서 새로 만들어진 타입)= Box<Apple>

 

위의 코드는 프로그래머의 실수가 컴파일 단계에서 발견됐다. 코드의 안정성을 높여준다.  

 

다중 매개변수 기반 제네릭 클래스 정의

타입 매개변수 이름 규칙 

일반적인 관례
- 한 문자로 이름을 짓는다. 
- 대문자로 이름을 짓는다. 

보편적인 선택
- E: Element
- K: Key 
- N: Number
- T: Type
- V: Value

 

타입 인자로 기본 자료형이 올 수 없다. 하지만 오토 박싱/언박싱으로 해결 가능하다. 

 

다이아몬드 기호

참조 변수 선언을 통해 컴파일러가 <> 사이에 Apple 있다고 해석한다.