티스토리 뷰
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
- Git
- Bashshell
- 폴라리스랩소디
- jsp
- 리눅스
- ProgressiveMetal
- github
- IntelliJ
- zsh
- Java
- ihsahn
- jUnit
- 비주얼스튜디오코드
- 자바
- MinGW
- centos
- METAL
- 이클립스
- 인텔리제이
- Eclipse
- 단위테스트
- zshell
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |