개념이 어려운것 보다 이런것 땜에 헷갈릴듯. 애들은.
클래스, 객체, 생성된 객체, 인스턴스, 개체 혼용 잼.
codesaf..(codesafer)
2015-04-26 22:29
추천 0
댓글 67
다른 게시글
-
형들 질문하나 해도될까... 자바 입문생인데.. [6]바기러노(118.34) | 15.04.26추천 0
-
학생 마인드란? [9]codesafer(codesafer) | 15.04.26추천 1
-
로동자의 날이다! 다들 휴가를 써라!관노(64.233) | 15.04.26추천 0
-
늦게 올려서 미안하다. 16비트 어셈 실습 환경 구축 PPTㅅㅅㅅ(125.128) | 15.04.26추천 0
-
프갤에 물리 바람~ [8]codesafer(codesafer) | 15.04.26추천 0
-
뭐가 문제 일까요?ㅠㅠ C++ 쉬운 문제 [7]ㄴㄴㄴㄴㄴ..(112.149) | 15.04.26추천 0
-
양자역학에서 확률이 생기게 된 아주 근본적인 이유 [1]롤키(14.47) | 15.04.26추천 0
-
ㅅㅅㅅ야 빨리 올려라수크라제(inviolable) | 15.04.26추천 1
-
확률에 대한 예전부터 궁금했던거 [3]롤키(14.47) | 15.04.26추천 0
-
좆샃은 선배새끼 존나 후두려패고싶다 [1]익명(122.32) | 15.04.26추천 0
이거 말고 매개 변수(파라미터)와 인자(아규먼트)도 엄연히 다른 용어인데 흔히들 혼동하죠.
parameter[퍼래미터]: 매개 변수. 함수를 선언할 때 인자를 받기 위해 선언한 변수.
그런 애들이 걱정되면 질문한 애한테 답변이나 하지 ㅉㅉ
argument[아규먼트]: 인자, 인수. 함수를 호출할 때 함수에 넘겨주는 값.
여태 한 두번 답했을것 같냐? 좀 지겨우니까 쉬자.
페러미터에 실제 들어가는 값이 아규먼트 아닌가여
네, 맞아요.
parameter를 "매개 변수"라고 번역하는데 변수라는 이름에서도 알 수 있듯이 인자를 받기 위한 형식 상의 변수니까요.
음 내 생각엔 parameter(caller 쪽) -> argument(callee 쪽) 으로 정리 하는게 맞을 것 같은데
매개 변수는 경우를 한정하기 위한거고, 인수라고 흔히 번역되는 argument 는 쟁점거리, 현안, 당길 인 이지 않나?
사실 인수라는 말은 factor라는 말이 있어서 argument는 구분해서 인자라고 더 많이 부르는 거 같아요. 결과적으로 코세 성님께서 말씀하신 대로 parameter는 caller 쪽이 맞고 실제 변수를 선언한 게 아니라 그냥 형식적으로만 만들어 놓은 변수이죠. 호출 규약에 따라 스택으로 전달될 수도 있고 레지스터로 전달될 수도 있으니... argument는 callee 쪽에서 주고요.
어떤 함수에 매개변수를 전달하는 쪽은 parameter 라고 부르고, 가져다 쓰는 쪽은 argument 라고 부르는게 맞지 않냐는거지. 위에서 말한대로, 패러미터에 실제 들어가는 값이 아규먼트란것도 같은 말이 되는거고.
main(int argc, char* argv[]) 같은 경우에도, 던지는 쪽의 의미와 받는쪽의 의미가 다른것에서 출발하는 문제라고 봐. arg 를 붙이는쪽은 받는쪽이지.
아 순간 코세님 댓글을 반대로 이해했네요. 저는 코세님이랑 반대로 알고 있어서요. 자바스크립트에서도 매개 변수 선언 아무것도 안해도 caller 쪽에서 전달해 준 인자 값들을 arguments라는 배열로 접근할 수 있잖아요 ㅋㅋ parameters라는 이름을 안 쓴다는 것에서도 아실 수 있을 것 같아요...
그러니, 내 생각은 ㅅㅅㅅ 의 말과 조금 달리, parameter[퍼래미터]: 매개 변수. 함수를 선언할 때 인자를 전달하기 위해 선언한 변수. 가 되는거고
아 동어 반복이네요. 생각해 보니 코세 성님 관점으로도 볼 수는 있겠네요.
함수의 형태를 외부에 노출해 줄 때 선언부에 놓여지는게 parameter, 정의부에서 가져다 쓰는게 argument 라고 본다는거야.
전달할 쪽에서 정한 이름은, 가져다 쓸 쪽에서 정한 이름과 다를 수 있으니 "가인수명" 이란 해석도 존재하는거지.
引(끌 인) 자인 거 보니 코세님 말씀이 더 타당한 거 같긴 한데...
말을 좀 다듬자. C 의 문법적 융통성이 개념을 흐트려 놓는 부분도 있는 것 같아.
호출할때 넘겨주는 값을 parameter, 받아서 쓰는쪽에서의 이름을 argument 인걸로.
parameter가 "매개 변수"라고 번역되는 데 코세님은 값으로 보시는 건가요?
default parameter 라는 것도, 호출시에 삽입되는 것이니, 위와 같이 해석할 때 아무 문제 없는것 같아.
C 는 call by value 니까 말야.
스택 윈도우에 전달 되는게 어떤 변수일 수는 없잖아?
formal parameter(형식 매개변수), actual parameter(실 매개변수) 개념과 formal argument(가인자), actual argument(실인자) 개념을 찾아 보면 형식 매개변수와 실 매개변수는 함수 호출할 때 인자를 어떤 변수의 값으로 넘겨주는 시나리오에서(예: foo(var); - 함수 선언: void foo(int param);) 형식 매개변수는 그 함수에서 인자를 받기 위해 선언한 변수를(param), 실 매개변수는 넘겨준 변수를(var) 지칭하고,
한국말로 번역하니까 똥이 되지 그냥 영어단어 그대로 씁시다
가인자 실인자의 경우 callee 입장에서 가인자는 param을, 실인자는 param의 값이 되는데, parameter는 caller의 입장에서, argument는 callee 입장에서 보는 코세님의 시각은 타당하지만 parameter가 값은 아닌 거 같고 그냥 실인자를 담아서 전달해 주는 변수의 개념인 것 같아요.
즉, parameter는 caller 입장에서 값을 전달해 주기 위해 사용하는 변수의 개념인 것이고, argument는 callee 입장에서 전달된 값을 인출하기 위해 접근하는 변수(formal argument) 또는 그 값(actual argument)을 지칭하는 것으로 정리할 수 있는 거 같아요.
caller -> foo(var/* 1st parameter */), callee -> foo(int arg1) 라고 보는게 더 많은 경우에 자연스럽다는 거
네 말대로 하면 foo(1) 이 말도 안되는거잖아 ㅋㅋ
네. parameter는 caller 입장에서, argument는 callee 입장이라는 시각은 저도 코세님 댓글 보면서 수긍하게 되었고 이제는 저도 코세님과 같은 생각이지만 parameter가 "값"이라는 의견은 조금... foo(10); 같은 경우에서 10을 parameter라고 말할 수는 없잖아요?
caller 는 다양한 값을 전달할 수 있는 것에 (받아가는쪽이 변수) 집중 할 뿐, 자신이 넘기는 값이 변수인건 아닌거라는거.
引子라는 용어가 함의하는 뉘앙스나 워드 센스는 대충 이런 느낌이긴 한데... 어쨌든 영문 위키에는 제가 처음에 언급한 대로 이렇게 나오네요. In computer programming, a parameter is a special kind of variable, used in a subroutine to refer to one of the pieces of data provided as input to the subroutine.[a] These pieces of data are called arguments.
parameter가 subroutine 내에서 사용된다고 되어 있는데 위키가 틀린 걸까요...
음? 10이 왜 parameter 일 수 없지? para-meter 는 걍, 고대 그리스어로 곁들이는 값이란 뜻인데.
영문 위키에는 parameter is a special kind of variable라고 나와서요.
저리선 parameter 를 단수 arguments 를 복수의 의미로 강하게 사용하네 : )
저기선.
저쪽도 혼동하고 있는걸로 보임.
아 그리고 parameter라는 단어의 어원은 para-(넘다, 뒤의) + meter(측정하다)이구요. 미터기 할 때의 그 meter의 의미가 그대로 쓰인 것이죠. 원래는 기하학 분야에서 나온 말이래요.
진짜 표준 기관 하나 딱 세워져서 이 단어는 이 뜻이고 저 단어는 저 뜻이고 딱 규정해 놓은 기관이 세워졌으면 좋겠다는 게 제 개인적인 바람이에요. 이 외에도 프로그래밍 용어에는 난해한 게 너무 많아서 ㅋㅋㅋ
beyond 보단 beside 의 의미가 더 강해.
측정의 결과는 값이고.
사실 引子라는 번역어가 올바른 번역어냐에 대해서도 반론이 나올 수 있는 사항이라서 어느 누구도 쉽게 단정짓지는 못하는 거 같네요... 뭔가 프로그래밍 언어의 역사를 거꾸로 거슬러 올라가 봐야 할 듯한...
A parameter (from the Ancient Greek παρά, "para", meaning "beside, subsidiary" and μέτρον, "metron", meaning "measure"),
저도 어원 사전 찾아보고 답변드린 것인데 beside를 순간 "뒤의"라고 해석했네요. 곁인데... para-(넘다, 곁의)로 수정할 게요.
측정된 것이 변수겠어? : )
뒤의는 상관없는데 넘다가 문제인거지;
그러게요. 값으로 봐도 될 거 같아요.
paranormal 등 para-가 "넘다, 초월하다"의 의미로 쓰이는 케이스도 있어서 같이 넣어 봤어요. ㅋㅋㅋ 다의어인 셈이죠.
수학에서는 parameter는 전체 시스템을 조율하는 변수, argument는 parameter가 확정되었을때 시스템에 대한 입력 정도로 보는듯. 컴퓨터에서랑 용어가 좀 다른 것 같음
위키는 f(x) = ax²+bx+c에서 a, b, c를 parameter, x를 argument라고 써놨음. 느낌상 이런 맥락에선 그렇게 사용되는게 맞는것 같기도 하고..
초현실 주의 에서 초는 두 가지 해석이 가능하지 : )
수학에서의 정의대로라면 일관성 있게 본다면 프로그래밍에서도 parameter는 함수에서 argument를 받기 위해 선언된 변수, argument는 함수 호출 시 입력으로 주는 값으로 볼 수 있는 거 아닌가요?
para-(etymonline.com에서 검색): before vowels, par-, word-forming element meaning "alongside, beyond; altered; contrary; irregular, abnormal," from Greek para- from para (prep.) "beside, near, issuing from, against, contrary to," from PIE *prea, from root *per- (1) "forward, through" (see per). Cognate with Old English for- "off, away."
교수가 설명할때 parameter / argument를 여기 나오는 두가지 관점에서 전부 설명했던게 기억남. caller / callee 입장에서 보는 관점도 있다고 했는데 약간 얼버무리고 지나간 이유를 알 것 같음.. 파고들면 모순되는 점이 있는듯
수학이나 물리에서의 parameter 는 (이미) 설정된 한정자의 성격이 강하니까 말야. 그래서 상수처럼 보이는거지.
프로그래밍 언어에서 구현되는 함수의 매개인자의 의미로 돌아와서, para 가 무언갈 초월하진 않우.
내가 보기엔 위의 2차함수에서 'parameter를 a=1, b=2, c=1로 설정한다'라고도 충분히 표현할 수 있을 것 같은데.. 비트겐슈타인도 언어의 사용을 조금씩 변화시키면서 완전한 nonsense로 바꾸는 기술을 자주 보여줬던 것 같은데. 이게 그런 케이스에 해당되지 않나 싶음. 좁은 부분에서 보면 모순이 없는것 같지만 그 사용을 조금씩 변화시키다 보면 모순이 생기는 쪽으로 건너가는 현상
응. 그래서 가장 이해하기 쉽고, 혼용될 가능성이 적은쪽으로 가닥을 잡아본게, caller -> callee 의 입장임. 둘 다의 존재의 필요를 인정해 줄 수 있기도 하고 말야.
그 설명이 합리적으로 보이긴 하지만 위키에서 설명하는 거랑은 모순되는듯. 뭐 여러 가지 입장이 있다고 해서 하나가 틀린건 아니니까... 그냥 체계가 다를뿐이라고 생각
수학의 입장에선 x 에 대한 다항식에서 서로 협력해 영향을 미치는 a, b, c 들은 말 그대로 coefficient 들인거지 : )
특정한 알고리즘의 성능을 최대로 끌어올릴때도 parameter를 조정한다고 말하곤 했는데 적절한 표현인지 모르겠음. 이런 표현을 사용한다고 가정하면 내 생각은 parameter가 caller에서 보는 쪽으로 조금 더 기우는듯
응. 여러 문제를 다뤄보고 형식을 고민한 내 결과도 그래.
뭔 댓글이 이렇게 많나 했더니 걍 개소리들이네 ㅎㅎ
디씨똥은 내가다 찾아본다!