AI Briefing

올리브영 사례로 알아보는 TypeScript 제네릭과 매개변수 다형성

·2026.01.01 02:00

TypeScript의 제네릭을 활용해 타입 정보를 보존하면서 코드 재사용성을 높이는 방법을 설명한다.

서브타입 다형성만으로는 서로 독립적인 타입들에 동일한 로직을 적용하는 데 한계가 있다. 예를 들어 상품, 리뷰, 주문 내역처럼 공통점이 없는 데이터 모델들에 대해 동일한 '첫 번째 요소 가져오기' 함수를 만들려면 각각 별도의 함수를 정의해야 한다.

**제네릭(Generics)**은 타입 자체를 매개변수로 받아 다양한 타입에 대해 동일한 로직을 수행할 수 있게 해주는 도구다. 제네릭을 사용하면 any를 사용할 때 발생하는 타입 정보 손실 문제를 방지하고, 함수를 통과한 후에도 원래 타입의 속성을 그대로 유지하며 타입 검사의 보호를 받을 수 있다.

실무에서는 API 응답 구조를 정의할 때 제네릭의 진가가 드러난다. 상태 코드와 메시지 같은 공통 구조 안에 실제 데이터(data) 부분만 타입 변수로 처리하면, 수많은 API 응답 타입을 하나의 인터페이스로 통합하여 관리할 수 있어 유지보수성이 극대화된다.

이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.

요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.