제네릭이 무엇인가요?

0

기술면접 - TS

목록 보기
1/18

제네릭이 무엇인가요?

제네릭의 개념

타입스크립트(TypeScript)에서 제네릭(Generic)은 다양한 타입을 처리하는 코드를 작성할 때 유용한 기능입니다. 제네릭을 사용하면 함수, 클래스 또는 인터페이스의 동작을 여러 타입에서 재사용할 수 있으며 타입 안정성도 보장할 수 있습니다.

제네릭을 사용하면 코드를 작성할 때 타입이 정적으로 지정되지 않고, 추후에 사용하는 시점에서 타입을 결정할 수 있습니다. 제네릭은 대괄호 < > 내에 타입 매개변수를 선언하여 사용됩니다. 타입 매개변수는 일반적으로 T라는 이름으로 표기되지만, 실제로는 어떤 이름이든 사용할 수 있습니다.

제네릭 사용 예시

예시를 통해 제네릭의 사용 방법을 살펴보겠습니다:

// 제네릭 함수 예시
function identity<T>(arg: T): T {
  return arg;
}

// 사용 예시
let result1 = identity<string>("Hello"); // 타입 매개변수에 string을 전달하여 사용
let result2 = identity<number>(42); // 타입 매개변수에 number를 전달하여 사용

// 제네릭 클래스 예시
class Box<T> {
  private value: T;

  constructor(value: T) {
    this.value = value;
  }

  getValue(): T {
    return this.value;
  }
}

// 사용 예시
let box1 = new Box<string>("Hello"); // 타입 매개변수에 string을 전달하여 사용
let box2 = new Box<number>(42); // 타입 매개변수에 number를 전달하여 사용

위의 예시에서 identity 함수와 Box 클래스는 제네릭으로 정의되었습니다. 이들은 여러 타입에서 사용할 수 있으며, 타입 매개변수를 통해 전달된 타입에 따라 동작합니다. 타입 매개변수는 일종의 placeholder 역할을 하며, 실제 사용 시점에서 구체적인 타입으로 대체됩니다.

제네릭의 장점

제네릭을 사용하면 코드의 유연성과 재사용성이 증가하며, 타입 안정성도 향상됩니다. 컬렉션, 함수, 클래스 등 다양한 상황에서 제네릭을 적용하여 타입 안정성을 유지하면서 일반화된 코드를 작성할 수 있습니다.

profile
지치지 않는 백엔드 개발자 김성주입니다 :)

0개의 댓글