Parameter와 Argument

이진혁·2022년 9월 19일
0
post-thumbnail

먼저, 프로그래밍에서 매개변수(parameter)인수(argument)는 함수(function) 호출에 관련된 용어로 사용된다.

둘 다 함수의 인터페이스(interface)를 정의하는 데 사용되는 중요한 개념이다.

그렇다면 Parameter와 Argument의 차이는 무엇일까?

확실하게 정리해보자.

차이점

우선 Parameter와 Argument의 차이를 살펴보면

Parameter는 함수를 정의할 때 사용되는 변수를 의미한다.

Parameter는 함수 호출 시에 인수를 전달하여 값을 받는다.

반면

Argument는 실제로 함수가 호출될 때, 넘기는 변수값을 의미한다.

인수는 매개변수에 대입되어 함수에서 처리된다.

아래의 예시코드를 살펴보자.

function greet(name) {  // name은 parameter
  console.log("Hello, " + name);
}

greet("John");         // "John"은 argument

위의 코드에서 name은 greet 함수의 parameter다.

함수를 호출할 때, "John"이라는 문자열을 argument로 전달하고 함수 내부에서 parameter인 name은 argument인 "John"으로 대입되어 실행된다.

따라서, 위 함수 호출의 결과는 "Hello, John"이 콘솔에 출력된다.

번외

아래의 코드를 살펴보자.

function add (a, b) {
 return a + b;
}

const x = 2;
const y = 3;

const z = add(x, y)

console.log(z)
// 5

위 코드를 살펴보면 add 함수를 호출할 때 argument를 상수 값이 아닌, 다른 변수 x와 y의 값으로 넘겼다.

여기서 parameter는 그대로 a와 b지만 x, y라는 변수도 argument로 넘기는 데에 사용되었다.

argument가 상수가 아닌 특정 변수의 값으로 넘겨지는 경우,

이 특정 변수를 '실제 매개 변수(actual parameter)'라 부르고,

처음에 이야기 된 '매개 변수'인 a와 b를 실제 매개 변수와 구분시켜주기 위해

'형식 매개 변수(formal parameter)'라 부른다.

마치며

사실 parameter와 argument의 차이점에 대해서는 알고 있었다.

하지만 한 번더 개념을 정리하자는 의미에서 기록하였는데 parameter 안에서 실제 매개 변수(actual parameter)와 형식 매개 변수(formal parameter)로 나누어져 있는지는 몰랐다.

이번 기회에 지식을 하나 또 쌓고 간다!

profile
개발 === 99%의 노력과 1%의 기도

0개의 댓글