티스토리 뷰

Programming/Fundamentals

Parameter와 Argument 차이

Irrationnelle 2016. 2. 15. 14:04


 What’s the difference between an argument and a parameter?


 엄밀히 따져 parameter는 ‘매개변수’, argument는 ‘인자’로 번역하지만 특별히 둘의 개념을 나눠서 설명하는 국내 서적은 거의 못 봤던 것 같다.


 어쨌든 당장 C언어 교재 중 가장 많은 추천을 받는 KING의 C Programming A Modern Approach만 봐도 parameter와 argument는 구분해서 사용한다.


 parameter는 일단 단어 자체가 주는 어감에서 공대 감성이 풍겨서 사전 검색만으로도 대충 뜻을 찾을 수 있지만, argument는 원서를 읽다가도 ‘뭐 이렇게 논쟁거리가 많느냐’고 오독할 수 있을 정도로 ‘논쟁, 주장’등의 의미가 먼저 다가온다.


 Parameter(매개변수)는 함수 혹은 메서드를 선언(declare)할 때 정의되는 변수


 Argument(인자)는 함수또는 메서드를 호출(call)할 때 함수의 매개변수로 전달하는 값


public void MyMethod(string myParam) { }

...

string myArg1 = "this is my argument";
myClass.MyMethod(myArg1);


 위의 스택오버플로우 링크의 답변에서 든 예시를 그대로 들면

 첫줄의 myParam은 parameter, 마지막줄의 myArg1은 argument라는 것.


 내가 받은 인상으로는 클래스와 인스턴스의 관계와 비슷한 것 같다. 클래스는 어떤 ‘틀’이고 인스턴스가 그 틀에서 주조된 ‘실재하는 객체’라면, parameter는 함수나 메서드에 어떤 값을 받을지 결정하는 ‘형식’이고 argument는 그 형식에 맞춰 전달하는 ‘실재 값’이니까.


 해당글은 내가 Medium에 작성한 글을 가져온 것이다.


댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
아카이브