유틸리티 타입은 원본 타입을 API 목적에 맞게 변형한다
런타임 값을 바꾸지 않고 선택, 제외, 읽기 전용, 고정 키 매핑 같은 계약을 컴파일 단계에서 표현한다.
수정 폼이나 PATCH 요청에 적합하다.
공개 응답과 민감 정보 제거에 쓴다.
상태 코드 맵과 설정 객체에 맞다.
| 구분 | 의미 | 판단 |
|---|---|---|
| 필드 일부 | Pick<T, K> | 카드 UI나 공개 DTO처럼 필요한 필드만 남김 |
| 내부 필드 제거 | Omit<T, K> | password, token, 내부 id 차단 |
| 읽기 전용 | Readonly<T> | 반환 DTO와 설정 객체 보호 |
핵심 유틸리티 타입 선택은 원본과 다른 점이 선택, 제외, 읽기 전용, 키 매핑 중 무엇인지 먼저 고르는 일이다.