함수가 외부와 데이터를 주고받는 통로인 **파라미터(Parameter)**와 **아규먼트(Argument)**에 대해 알아보겠습니다.
두 용어는 혼용해서 쓰는 경우가 많지만, 엄밀히 말하면 함수의 '설계' 단계와 '실행' 단계에서 그 명칭이 달라집니다.
1. 파라미터 (Parameter, 매개변수)
파라미터는 함수를 정의(설계)할 때 괄호 ( ) 안에 선언하는 변수를 의미합니다.
- 역할: 함수 내부로 들어올 값을 담기 위한 '이름표'이자 '공간'입니다.
- 특징: 함수가 호출되기 전까지는 실제 값이 들어있지 않은 상태입니다.
2. 아규먼트 (Argument, 인수)
아규먼트는 함수를 호출(실행)할 때 함수로 전달하는 실제 값을 의미합니다.
- 역할: 설계된 파라미터 자리에 실제로 채워지는 데이터입니다.
- 특징: 숫자, 문자열, 객체 등 어떤 데이터 타입도 아규먼트가 될 수 있습니다.
🖥️ 예제 코드로 이해하기
학생들이 한눈에 구분할 수 있도록 작성된 코드입니다.
JavaScript
// 1. 함수 정의 (설계도)
// 여기서 x와 y는 '파라미터(매개변수)'입니다.
function multiply(x, y) {
return x * y;
}
// 2. 함수 호출 (실행)
// 여기서 10과 5는 '아규먼트(인수)'입니다.
const result = multiply(10, 5);
console.log(result); // 50
3. 파라미터와 아규먼트의 관계 및 특징
① 개수의 일치
자바스크립트는 파라미터와 아규먼트의 개수가 맞지 않아도 에러를 내지 않습니다.
- 아규먼트가 부족하면: 전달받지 못한 파라미터는 undefined가 됩니다.
- 아규먼트가 남으면: 남는 값은 무시되지만, arguments라는 객체에 저장됩니다.
② 기본값 설정 (Default Parameter)
아규먼트가 전달되지 않았을 때 사용할 기본값을 파라미터에 미리 정해둘 수 있습니다. (ES6 문법)
JavaScript
function welcome(name = "손님") { // '손님'이 기본값
console.log("어서오세요, " + name + "님!");
}
welcome(); // 결과: 어서오세요, 손님님! (아규먼트 없음)
welcome("홍길동"); // 결과: 어서오세요, 홍길동님! (아규먼트 있음)
📋 용어 정리 한눈에 보기
| 구분 | 파라미터 (Parameter) | 아규먼트 (Argument) |
| 우리말 이름 | 매개변수 | 인수 |
| 등장 위치 | 함수 선언부 (function add(a, b)) | 함수 호출부 (add(10, 20)) |
| 의미 | 값을 담는 변수 (공간) | 실제로 전달되는 값 (데이터) |
| 비유 | 주스를 담을 컵 | 컵에 담기는 주스 원액 |
학습 정리
- 파라미터는 함수가 일을 하기 위해 필요한 재료의 목록입니다.
- 아규먼트는 함수에게 실제로 건네주는 실제 재료입니다.
- 자바스크립트는 유연한 언어이므로, 아규먼트가 부족할 경우를 대비해 **기본값(Default)**을 설정해 주는 것이 좋습니다.
함수의 통로인 파라미터와 아규먼트의 개념을 완벽히 정리하셨습니다!

'JavaScript' 카테고리의 다른 글
| Types of Event (0) | 2026.02.14 |
|---|---|
| return (0) | 2026.02.14 |
| Function Expression (0) | 2026.02.14 |
| Function (0) | 2026.02.14 |
| var let const (0) | 2026.02.14 |