타입추론 제네릭 단일 타입이 아닌 다양한 타입에서 작동하는 컴포넌트를 작성할 수 있습니다. 제네릭 이용하여 key 받아오기 (ex. key extends keyof T) 안전한 any 타입 만들기 구조적 타이핑, 덕 타이핑