매개변수(parameter), 전달인자(argument)

일반적인 프로그래밍 입문 책에서는 매겨변수전달인자의 대한 제대로된 개념을 설명하고있다. 내가 입문했던 서적 또한 그렇다.

매개변수의 경우 서브루틴의 인풋으로 제공되는 여러 데이터 중 하나를 가리키기 위해 사용된다. 전달인자의 경우 서브루틴의 인풋으로 제공되는 여러 데이터들을 가리킨다. 실상 종종 매겨변수와 전달인자를 섞어서 사용하고있는데, 이 경우 문맥의 따라 달리 해석되기도한다.

그렇기 때문에 정확한 표현을 사용해야한다. 매개변수는 함수의 정의 부분에 나열되는 변수를 뜻하며 전달인자는 함수 호출 시 전달되는 값을 뜻 한다.

매개변수는 변수(variable), 전달인자는 값(value)

f(x) = x*x 와 같은 정의에서 변수 x 가 매개변수가 되며 f(n) 과 같이 함수 호출 부분에서의 값 n이 전달인자가 된다.

좀 더 이해를 돕기 위해 아래 코드를 보자.

sum 함수는 두개의 매개변수를 가지고있다.

a, b 는 실제 값이 존재하지 않고 형태를 나타내 줄 뿐이다.

int sum(int a, int b)
{
    return a+b;
}

아래 코드에서 sum 함수를 호출 시, 입력된 1, 2(value) 를 전달인자라한다.

sum(1, 5)

You might also like...

What do you think?