결론다형적(polymorphic)연산 보다는 단형적(monomorphic)연산을 사용한다. 단형적 연산 : hidden class 가 항상 같다. 다형적 연산 : 그렇지 않고 값이 변한다.
아래 예제를 확인해보자
function add(x, y) {
return x + y;
}
add(1, 2); // add 함수의 더하기는 단형적 연산입니다.
add("a", "b"); // add 함수의 더하기는 다형적 연산이 됩니다.JavaScript
위의 x, y를 보면 첫번째 add(1,2);
기본 number 타입에서 두번째 add("a","b");
에서 일반 object 타입으로 변한다.
이 경우 같은 함수에 대한 두번의 호출이 동일한 hidden class를 쓰는 것이 아니고, 달라지기 때문에 이건 다형적 연산이 된다.