[typescript] 제네릭 인터페이스를 이용한 코드 중복 제거 방법

TypeScript에서 제네릭(Generics)은 다양한 데이터 타입을 지원하기 위해 사용됩니다. 제네릭을 이용하면 중복 코드를 제거하고 코드의 재사용성을 높일 수 있습니다. 이번 포스트에서는 TypeScript에서 제네릭 인터페이스를 이용한 코드 중복 제거 방법에 대해 알아보겠습니다.

제네릭 인터페이스란?

제네릭 인터페이스는 다양한 유형의 데이터를 다루기 위해 사용됩니다. 인터페이스를 정의할 때 구체적인 타입 대신 제네릭으로 나타낼 수 있으며, 실제 사용 시에 구체적인 타입을 지정할 수 있습니다.

코드 중복 제거를 위한 제네릭 인터페이스 사용법

제네릭 인터페이스를 사용하여 코드 중복을 제거하는 방법은 다음과 같습니다.

예시: 데이터 저장 및 조회를 위한 일반적인 CRUD 기능

interface Repository<T> {
  getById(id: number): T | undefined;
  save(item: T): void;
  update(id: number, item: T): void;
  delete(id: number): void;
}

class UserRepository implements Repository<User> {
  // 구현
}

class ProductRepository implements Repository<Product> {
  // 구현
}

위 예시에서 Repository 인터페이스는 제네릭 T를 인자로 받아 CRUD(Create, Read, Update, Delete) 기능을 정의하고, UserRepositoryProductRepository 클래스에서 이를 구체화합니다. 이를 통해 유저와 제품 데이터를 다루는 코드를 중복 없이 재사용할 수 있습니다.

결론

제네릭 인터페이스를 사용하면 여러 유형의 데이터를 다루는 기능을 구현할 때 코드 중복을 제거하고 유지보수성을 향상시킬 수 있습니다. TypeScript에서는 제네릭을 적절히 활용하여 보다 간결하고 유연한 코드를 작성할 수 있습니다.

제네릭 인터페이스를 이용한 코드 중복 제거 방법에 대해 알아볼 수 있는 시간이었습니다. 추가적인 궁금증이 있거나 새로운 아이디어를 공유하고 싶다면 망설이지 말고 댓글을 남겨주세요. 감사합니다!

참고 자료