프로젝트 기반으로 실행하면 다음과 같습니다.
실행 결과
GenericNote.Juice GenericNote.Coffee
클래스 이름 뒤에 <T> 형태를 붙이면 제네릭 클래스가 됩니다. 제네릭 클래스에 전달되는 T 같은 표현은 형식 매개변수로 특정 형식을 매개변수로 받아 해당 클래스 형태로 메서드 등을 만들 수 있습니다.
①처럼 Cut<T> 형태로 만든 제네릭 클래스는 T에 특정 클래스 형식을 담을 수 있는 융통성이 있습니다.
ⓐ에서 Juice 클래스를 T 형식 매개변수로 전송하면 juice 개체의 Type 속성은 Juice 클래스의 인스턴스가 됩니다. ⓑ에서 Coffee 클래스를 형식 매개변수로 전송하면 coffee 개체의 Type 속성은 Coffee 클래스의 인스턴스가 됩니다.