[typescript] 함수 오버로딩의 사용 예시
function getArea(shape: "circle", radius: number): number;
function getArea(shape: "rectangle", width: number, height: number): number;
function getArea(shape: any, arg1: any, arg2?: any): number {
if (shape === "circle") {
return Math.PI * Math.pow(arg1, 2);
} else if (shape === "rectangle") {
return arg1 * arg2;
}
}
console.log(getArea("circle", 5)); // 원의 넓이
console.log(getArea("rectangle", 4, 5)); // 직사각형의 넓이
위의 예시에서 getArea
함수는 두 가지 형태로 오버로딩됩니다. 첫 번째 형태는 “circle” 모양의 도형과 반지름을 받아서 넓이를 계산하고, 두 번째 형태는 “rectangle” 모양의 도형과 너비, 높이를 받아서 넓이를 계산합니다. shape
매개변수로 전달되는 도형에 따라 적절한 계산을 수행하여 넓이를 반환합니다.
이렇게 오버로딩된 함수를 사용하면 하나의 함수로 여러 가지 입력 형태를 다룰 수 있어 코드를 간결하게 유지할 수 있습니다.
더 자세한 정보는 TypeScript 공식 문서를 참고할 수 있습니다.
- TypeScript 공식 문서: https://www.typescriptlang.org/docs/handbook/2/functions.html#overloads