:) +TS generic

권민철·2022년 8월 26일
0
post-custom-banner

:)8W


오늘도
배워봅니다.

시작

1. generic?

  • 제네릭 (Generic) 이란 데이터의 타입을 일반화한다(generalize)한다는 것을 뜻한다.
  • 제네릭은 어떠한 클래스 혹은 함수에서 사용할 타입을 그 함수나 클래스를 사용할 때 결정하는 프로그래밍 기법을 말한다.
  • 타입의 유연성이란 :string, :number 등과 같이 고정된 타입이 아닌 사용에 따라 여러 타입을 사용하게 해준다는 것이다.

2. generic 쓰는 이유?

  • Generic은 자료형을 정하지 않고 여러 타입을 사용할 수 있게 해준다.
  • 선언 시점이 아니라 생성 시점에 타입을 명시하여 하나의 타입만이 아닌 다양한 타입을 사용할 수 있도록 하는 기법이다.
  • 한번의 선언으로 다양한 타입에 '재사용'이 가능하다는 장점이 있다

3. generic 쓰지 않을 경우?

  • 불필요한 타입 변환을 하기 때문에 프로그램의 성능에 악영향을 미치기도 하는데, 제네릭을 사용하게되면 따로 타입 변환을 할 필요가 없어서 프로그램의 성능이 향상되는 장점이 있다.
  • 1) 타입을 미리 지정하거나
  • 2) any를 이용하여 구현할 수 있다.
  • 타입을 미리 지정하자면, 확실한 타입체크가 이뤄질 수 있겠지만 항상 number라는 타입을 받아야하므로 범용성이 떨어진다.
  • 그렇다고 any를 사용한다면 자료의 타입을 제한할 수 없을 뿐더러, 이 function을 통해 어떤 타입의 데이터가 리턴되는지 알 수 없다.
  • 이런 경우에 사용할 수 있는 것이 제네릭이다.
post-custom-banner

0개의 댓글