void overload(){
System.out.println("매개변수 0개");
}
void overload(int i, int j){
System.out.println("매개변수 "+ i + " 그리고 " + j);
}
void overload(double d){
System.out.println("매개변수 " + d);
}
JS에서 위와 같이 하면 같은 이름의 함수를 덮어 쓴다. 따라서 1개의 함수로 여러개의 매개 변수 및 다양한 자료형의 매개변수를 처리하는 기법이 필요하다.
function overload(a, b, c) {
if (typeof c === "function") {
// 문자열 두 개와 콜백
c(a, b);
} else if (typeof b === "function") {
// 옵션 객체와 콜백
b(a);
} else {
// 콜백 하나
a();
}
}