유틸리티 타입은 기존 타입을 복사하지 않고 목적별로 변환한다
Partial, Pick, Omit, Record 같은 도구는 원본 타입을 기준으로 optional, 선택, 제거, key/value 매핑을 수행한다.
모든 속성을 optional로 바꿈
필요한 key만 선택
불필요한 key 제거
key 집합과 value 타입으로 새 객체 생성
| 구분 | 기준 |
|---|---|
| 폼 draft | Partial<User> |
| API projection | Pick<User, "id" | "name"> |
| 권한 제거 | Omit<User, "password"> |
핵심 Omit<User, "password">