2020-06-05 15:46:43

코딩을 하다보면 어떤 프로그래밍 언어든 관계없이 매개변수(parameter)와 인수(argument)라는 말을 접하게 됩니다. 그런데 문제는 저도 그렇고 많은 사람들이 정확한 개념을 모른채 혼용해서 사용한다는 점입니다. 그래서 오늘 한번 정리해보려고 합니다. 

 

매개변수와 인수

우선 매개변수와 인수는 함수 또는 메서드와 연관된 용어입니다. 따라서 C++에서 하나의 함수를 선언하고 난 후 설명해보겠습니다. 두 개의 숫자를 전달받아서 더해주는 간단한 덧셈 함수를 만들었습니다. 

 

 

매개변수란 위 그림에서 보시는 것처럼 함수를 정의할 때 사용되는 변수를 의미합니다. 그렇다면 인수는 무엇일까요? 인수는 함수가 호출될 때 매개변수에 실제로 담기는 값을 의미합니다. 

 

 

그런데 우리를 헷갈리게 만드는 것이 있는데 매개변수를 인자라고 부르기도 한다는 점입니다. 정리하자면, 다음과 같습니다.

 

매개변수=인자=parameter : 함수에서 전달된 값을 받는 변수

인수=argument : 전달된 값

 

저는 인자라는 단어를 아예 안 쓰는 것이 혼란을 줄일 수 있다고 생각합니다. 

 

참고자료

[1] https://stackoverflow.com/questions/156767/whats-the-difference-between-an-argument-and-a-parameter, stackoverflow, "What's the difference between an argument and a parameter?"

[2] https://zetawiki.com/wiki/%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98(parameter)%EC%99%80_%EC%9D%B8%EC%88%98(argument)%EC%9D%98_%EC%B0%A8%EC%9D%B4