유틸리티 타입은 기존 타입을 복사하지 않고 목적별로 변환한다

Partial, Pick, Omit, Record 같은 도구는 원본 타입을 기준으로 optional, 선택, 제거, key/value 매핑을 수행한다.

Partial<T>
모든 속성을 optional로 바꿈
Pick<T,K>
필요한 key만 선택
Omit<T,K>
불필요한 key 제거
Record<K,V>
key 집합과 value 타입으로 새 객체 생성
구분기준
폼 draftPartial<User>
API projectionPick<User, "id" | "name">
권한 제거Omit<User, "password">

핵심 Omit<User, "password">