-
제네릭의 등장 배경- 코드의 안정성과 재사용성을 높이기 위해
- 여러 종류의 객체를 다룰 수 있는 유연한 코드를 작성하기 위해
- 이해되나요? ㅋㅋ 저는 이해가 안 됩니다. ㅋㅋ
제네릭을 이해하기 위한 이야기
- 우리가 배열을 만들어야 한다고 생각해 보면, 배열에는 어떤 타입의 데이터가 들어올까요?
문자열, 숫자, boolean ... 어떤 데이터도 들어올 수 있습니다.
해결방안으로는 우리는 각각 모든 타입별로 제공하는 배열들을 만들어줘야 합니다.
예를 들면 다음과 같습니다.
string일 때 사용하는 배열 - stringarray
number일 때 사용하는 배열 - numberarray
boolean일 때 사용하는 배열 - boolarray
string이랑 number를 모두 사용하는 배열 - stringAndNumberArray
한도 끝도 없겠죠? 이러한 문제를 해결하기 위해서 등장한 것이 바로 제네릭!!. - 제네릭은 사용하는 사람이 어떤 타입으로 정할지 선택할 수 있도록 의존성을 넘겼어요.
대표적인 예시가 배로 배열이죠~
let stringarray: Array<string> = ["hi", "hello world"]; let numberarray: Array<number> = [1, 2]; let boolarray: Array<boolean> = [true, false]; let mixarray: Array<string|number> = [1, "hi"];
배열을 선언할 때 타입을 지정할 수 있도록 하는 개념이 바로 제네릭!!
마무리 및 정리
- 제네릭을 활용하면 코드의 재사용성, 유지보수성을 향상할 수 있어요.
더 유연한 코드로 작성하고 싶다면 제네릭은 꼭 알아야 하는 개념이라는 것을 알아두세요.
728x90'front-end' 카테고리의 다른 글
FSD 프론트앤드 개발을 위한 최적화된 디자인 패턴 (0) 2024.03.21 타입스크립트 도입 시도 실패, 그리고 다시 시작하기 위한 여정 (1) 2024.02.08 FE개발자 k8s를 알아야하는가? (0) 2024.01.29 HTML에서 JavaScript 변수 다루기: let vs var vs window (0) 2024.01.24 컴파일러? 번들러? (0) 2021.11.25