/*// 자바스크립트에서는 메서드 이름이 중복일경우 overwrite되어 마지막 함수만 실행된다. (sum변수에 마지막 함수만 참조하게 된다는 의미)function sum(a, b) {return a + b;}function sum(a, b, c) {return a + b + c;}function sum(a, b, c, d) {return a + b + c + d;}*/// 메서드오버로딩 : 메서드의 이름은 같고, 개수(타입)가 다를때 개수(타입)에 맞게 호출되는 기능을 말한다.// 자바스크립트에서는 메서드오버로딩을 지원하지 않지만 arguments객체를 이용하여 흉내???낼 수 있다.function sum() {var result = 0;// arguments 객체는 함수가 실행했을때만 사용할수 있는 객체이다.// arguments 개체는 배열은 아니다. 하지만 배열과 동일하게 접근하여 사용할수 있다.var args = arguments.length; // 매개변수 갯수 얻기// console.log(args);for (var i=0; i<args; i++) {result = result + arguments[i];};switch(args) {case 2 : return result; break;case 3 : return result; break;case 4 : return result; break;default : return null; break;}}console.log(sum());console.log(sum(10, 20));console.log(sum(10, 20, 43));console.log(sum(10, 20, 43, 100));
반응형
'JavaScript' 카테고리의 다른 글
[JavaScript] 자바스크립트 캡슐화 (0) | 2016.01.25 |
---|---|
[JavaScript] 자바스크립트 렉시컬(Lexical) 특성 (0) | 2016.01.18 |
[JavaScript] 자바스크립트 상속 (0) | 2016.01.18 |
[JavaScript] 자바스크립트 빈 오브젝트 체크 (0) | 2016.01.14 |
[JavaScript] 자바스크립트 문자열 합치기 팁 - 배열 join (0) | 2016.01.14 |