무턱대고 맨땅에 헤딩하듯이 코딩 공부를 하다보면 용어들의 의미를 놓칠 때가 많다.
그 중에서 가장 기본적인 변수들을 구분하는 용어인 멤버변수, 지역변수, 매개변수가 무엇을 뜻하는지도 모른채 무턱대고 따라쓰기를 하는 경우도 많은데 멤버변수, 지역변수, 매개변수가 무엇인지 간단히 설명하자면
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include <iostream> using namespace std; int a; class Variable { int b; void printVariable(int d) { int c = 1; } }; | cs |
위의 코드에서 (말도안되는 코드이긴 하지만.. ㅎㅎ) a 처럼 외부에서 선언되어 코드 전체에서 사용될 수 있는 변수를 전역변수라고 하고
클래스 내부에서 클래스의 모든 객체가 공유하는 b와 같은 변수를 멤버변수라고 칭하고
c 처럼 함수 내부에 선언된 변수를 지역변수,
그리고 d 처럼 함수가 정의될때 전달되는 인수를 함수 내부에서 사용할 수 있도록하는 변수를 매개변수라고 부른다.
참고로 이와같은 변수들에 대한 지칭은 언어마다 통일되어있는 것이 아니기에 각 변수가 사용되는 범위에 따라 불리는 별명정도로 생각하면 된다.