Generic Bound

제네릭 최소 제약

T extends HasId처럼 타입 매개변수에 조건을 걸면 다양한 타입을 받으면서도 필요한 속성 접근은 안전해진다.

Repository 타입 흐름

type contract

일반화

Repository가 User, Post 같은 여러 엔티티를 같은 구조로 다룬다.

조건 부여

id처럼 꼭 필요한 속성은 extends 제약으로 보장한다.

안전 접근

제약을 만족한 뒤에는 함수 안에서 해당 속성을 안전하게 사용할 수 있다.

확장

타입별 추가 속성은 유지하면서 공통 로직만 재사용한다.

Textendsrepoentity
타입 조건

제네릭 제약은 타입을 좁히는 장벽이 아니라, 공통 로직이 기대하는 최소 계약을 코드로 적는 방식이다.