들어가며
프로그래밍에서 "argument"와 "parameter"는 함수와 관련된 중요한 개념입니다. 이 개념은 개발자들이 자주 사용하는 용어 중 하나이지만, 혼동하여 사용되는 경우가 많습니다. 그리고, 한글로 번역하면 매개변수 그리고 인수와 인자라는 용어를 자주 접하게 되는데 이 부분들에 대해 차이를 명확하게 알아보고 이해하기 위해 예시를 통해 자세히 설명해보려 합니다.
Argument와 Parameter
✓ Argument - 함수를 호출할 때 넘기는 값을 의미한다.
✓ Parameter - 함수를 정의할 때 넘겨받은 값을 사용하기 위한 변수를 의미한다.
예시 코드
/* Javascript Code */
// 1. 환영 인사를 만들어주는 함수
const greet = (name, place) => {
return `Hello ${name}! Welcome to ${place} :)`
}
// 2. 한국인이 환영 인사를 만들기 위해 요청
const Korean = greet("Kim", "Seoul");
console.log(Korean); // Hello Kim! Welcome to Seoul :)
// 3. 미국인이 환영 인사를 만들기 위해 요청
let lastname = "John";
let hometown = "Texas";
const American = greet(lastname, hometown);
console.log(American); // Hello John! Welcome to Texas :)
위 코드에서 greet 함수는 name(이름)과 place(장소)를 입력받으면 환영 인사를 만들어 주는 간단한 함수입니다. 여기서 환영 인사를 만들어주기 위해 정의해 둔 변수 name과 place가 매개변수 또는 Parameter라고 표현합니다. 따라서 Parameter는 함수를 정의할 때 사용하는 변수입니다.
다음은 한국인과 미국인이 환영 인사를 만들기 위해 greet 함수에 각자의 이름과 장소를 넘겨줍니다. 이때 넘겨주는 값을 인자 또는 Argument라고 표현합니다. 따라서 Argument는 함수를 호출할 때 넘겨주는 값 또는 변수입니다.
💡 함수에서 Parameter를 정의하고 함수를 호출할 때 Argument를 넘겨줘!
파라미터 그리고 인수와 인자
매개변수는 Parameter로 대부분 사용하지만 인수와 인자는 Parameter를 인자라고 하기도 하고 Argument를 인자라고 하며 혼용되고 있습니다.
MDN
Oracle
Chat GPT
네이버 지식인
영어와 한자를 거치면서 한국어로 번역되며 생긴 문제로 보입니다. 명확하게 단정 짓기는 어렵기에 상황에 따라 이해하는 것이 필요해 보입니다. 가장 일반적인 경우를 취합하여 아래와 같이 정리하며 마무리하겠습니다.
정리
용어 | 의미 | 설명 |
Argument | 인수 / 인자 / 전달인자 | 함수를 호출할 때 전달하는 값, Value |
Parameter | 매개변수 | 함수내에서 사용되는 변수, Variable |
Reference
ChatGPT, MDN, 모던 자바 스크립트 Deep Dive
'PROGRAMMING > CS' 카테고리의 다른 글
[CS] 블로킹과 논블로킹 그리고 동기와 비동기 (feat.Javascript) (36) | 2023.03.21 |
---|---|
[CS] 함수형 프로그래밍의 특징(feat.Javascript) (36) | 2023.03.13 |
URL과 URI의 차이 그리고 URN까지 쉽게 이해하기 (50) | 2023.02.23 |
REST API와 GraphQL, 정의 | 비교 | 장점 | 단점 | 규칙 | 예시코드 | 설치 | 고려할점 (feat.Server API, Node.js) (36) | 2023.02.19 |
컴파일러 언어와 인터프리터 언어, 정의 | 특징 | 종류 | 비교 | 차이 (9) | 2023.01.31 |