제네릭 클래스와 인터페이스

제네릭 클래스와 인터페이스

함수뿐 아니라 저장소, 응답 래퍼, 큐 같은 구조도 타입 변수를 받아 다양한 데이터에 같은 규칙을 적용할 수 있습니다.

클래스

상태 타입 보존

제네릭 클래스는 내부 저장 값과 메서드 반환 타입을 인스턴스 생성 시점의 타입으로 고정합니다.

Box<T>
인터페이스

계약의 타입 변수

Repository<T>처럼 데이터 모델만 바꿔 같은 메서드 계약을 재사용합니다.

interface Repo<T>
제약 조합

필요 속성 보장

id가 있는 엔티티만 다루는 저장소처럼 최소 구조를 요구할 수 있습니다.

T extends Entity
활용 시나리오

응답과 컬렉션

API 응답, 페이지 목록, 캐시 항목처럼 같은 외피와 다른 내부 값을 표현합니다.

Response<T>