티스토리 툴바


ANSI C 표준( ISO/IEC 9899 )따르면 Parameter와 Argument는 확실하게 구분되어 있다. 원문은 이보다 자세한 표현으로 나와있지만 간단히 줄이면 다음과 같다.

Argument:  함수를 호출할 때 주는 변수나 상수
Parameter : 함수의 선언부나 구현부에 있는 변수

하지만 영어로 썼을 경우에는 확실하게 구분되지만 이것을 번역한다면 얘기가 달라진다.
웹상에 떠돌아 다니는 표현들을 살펴본바 Parameter와 Argument는 다음과 같이 번역되는 경우가 많다.

1. Parameter = 인자, Argumnet = 인수
2. Parameter = 인수, Argument = 인자
3. Parameter = 매개 변수, Argument = 인수/인자


어떤 사람은 인수를 실인수와 형식인수로 구분하여 호출시 상수를 넘겨주는 것을 실인수, 변수를 넘겨주는 것을 형식인수라고 정의하는 사람도 있다. 심지어 KLDP의 한 글( http://kldp.org/node/29585 )에서는 인자는 표준어가 아니니 인수가 맞다는 얘기가 있다.

언제부터 '인자'가 표준어가 아니게 됐지? 당연 '인자'와 '인수'모두 표준어이고 웹에서도 간단하게 확인할 수 있다.  국립국어원의 표준어대사전에는 인수와 인자는 다음과 같이 정의되어 있다.

인수09(因數) 「명사」『수학』
정수 또는 정식을 몇 개의 곱의 꼴로 하였을 때에, 그것의 각 구성 요소를 이르는 말. ≒ 인자07(因子)

인자07(因子) 「명사」『수학』
= 인수09(因數)

자 표준국어대사전에서 부터 모호성이 물씬 물씬하다. '인수 ≒ 인자 = 인수'란다. 물론 이는 수학에서의 얘기지만, 컴퓨터에서도 마땅한 표준 정의( 한글로 된 정의 )가 없기 때문에 이와 다르지 않은 입장이라고 생각한다.

다시 ANSI C 표준을 살펴보면 argument와 parameter 아래에 다음과 같이 나와있는 것을 볼 수 있다.

3.3
argument
actual argument
actual parameter (deprecated)

...

3.16
parameter
formal parameter
formal parameter (deprecated)

이를 인용하여 argument와 parameter를 정의하자면

Argument = 실인수 or 실인자
Parameter = 형식인수 or 형식인자


아니면 영한사전과 관용적 표현에 따라

Argument = 인수 or 인자
Parameter = 매개변수


로 번역하는게 무난하지 않을까 싶다. 잘난척하며 이렇게 정의하기는 했는데, 나는 솔직히 어떻게 부르는가는 신경쓰고 싶지 않고, 다만 누가 확실하게 표준을 잡아주었으면 하는게 바람이다.

P.S. 나중에 보니 EC++에 잘만 나와있더라... OTL ( Argument = 인자, Parameter = 매개변수 )
저작자 표시 비영리 동일 조건 변경 허락
Posted by 키뤼