본문 바로가기
핸드메이드 프로그램/실시간 코인가격 알림 ( React native )

TypeScript 제네릭

by thebirghtwide 2021. 8. 10.

제네릭(Generic)

제네릭이란 자바에서 클래스나 함수에서 어떤 형태로 값을 받아 들일지 정해지지 못한 상태에서 그 함수나 클래스를 사용할 때 결정하는 프로그래밍 기법을 말한다.  

 

 

 클래스 Class 

우선 class를 직접 만들어 봄으로써 사용예제를 살펴보자 

class My_class<T> {
    private a: T;
    private b: T;
    private c: T;
  
    constructor( item : T, item2: T) {
        this.a = item;
      	this.b = item2;
    }
  
    add( ): void {
      	this.c = this.a + this.b;
    }
  
    result(): T {
      	return this.c;
    }
  }

다음과 같은 class를 작성한다고 가정해보자. 현재 어떤 타입이 들어올지 예상을 할 수 없지만, <T>라는 제네릭을 활용하여 어떤 타입 T가 들어오는 경우 각각의 변수 a,b,c 부터 시작하여 결과 함수인 result 까지 들어오는 타입에 맞추어 적용된다는 것을 위에 다 선언해 둔 것이다. 즉 number, string이 들어오는 순간 class의 T 타입이 선정이 된다는 뜻이다. 

 

 함수 function 

이제 다음으로 함수를 살펴보자 

function add<T>(a: T, b : T): T {
  return a+b;
}

함수의 예제도 그리 어렵지 않다. 먼저 제네릭 <T>를 선언하고 들어오는 타입에 맞추어 지정하고 싶은 부분에 각각을 선언해두기만 하면 된다. 함수도 그리 어렵지 않게 사용할 수 있는 것을 알 수 있다. 

댓글