utility types

유틸리티 타입은 원본 타입을 API 목적에 맞게 변형한다

런타임 값을 바꾸지 않고 선택, 제외, 읽기 전용, 고정 키 매핑 같은 계약을 컴파일 단계에서 표현한다.

Partial모든 필드 선택 사항

수정 폼이나 PATCH 요청에 적합하다.

Pick / Omit필드 일부 사용 또는 제외

공개 응답과 민감 정보 제거에 쓴다.

Record / Readonly키 집합 매핑 또는 변경 금지

상태 코드 맵과 설정 객체에 맞다.

구분의미판단
필드 일부Pick<T, K>카드 UI나 공개 DTO처럼 필요한 필드만 남김
내부 필드 제거Omit<T, K>password, token, 내부 id 차단
읽기 전용Readonly<T>반환 DTO와 설정 객체 보호

핵심 유틸리티 타입 선택은 원본과 다른 점이 선택, 제외, 읽기 전용, 키 매핑 중 무엇인지 먼저 고르는 일이다.