Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
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
Archives
Today
Total
관리 메뉴

시작은 0부터

24. 프로퍼티(Property), 파라미터(Parameter), 아규먼트(Argument) 본문

C# 학습일지

24. 프로퍼티(Property), 파라미터(Parameter), 아규먼트(Argument)

0base 2022. 8. 4. 21:12

  클래스를 다중으로 쓰다보면 클래스 내부 변수들을 선언할 때 그 변수의 범용성에 따라 접근제한자를 고민하여 사용한다.

클래스 외부에서 해당 변수를 참조하거나 값을 넣기 위해서는 해당 변수에 대한 접근권한이 있어야하고, 이를 위해 클래스 내부 변수의 접근제한자를 public으로 하여 외부에서 접근이 가능하도록 할 경우, 상황에 따라 접근을 원치 않을 때에도 의도치 않게 접근이 되어버리는 문제가 발생할 수 있다. 이러한 문제를 방지하기 위해, 변수의 접근성을 설정하는 기능이 '프로퍼티'다.

 

프로퍼티(Property)

:  변수에 접근하는 두 가지 경우, 외부에서 읽어들일 수 있는 '읽기(Get)'와 외부에서 값을 써넣을 수 있는 '쓰기(Set)'를 제어하는 기능이다.

 

public int a { get; set; }

 위의 코드는 아래 코드와 같다.

			public int a
			{
				get
				{
					return a;
				}
				set
				{
					a = value; //value 는 키워드이다.
				}
			}

클래스 외부에서 해당 변수 a 를 참조하는 경우에는 a 값을 반환하고, 값을 대입하는 경우에는 변수 a에 대입한 값을 넣는다.

 

get, set, value는 모두 키워드다. 정수 데이터형을 int 로 쓰듯이 C# 에 자체적으로 내장되어있는 기능들이다.

 

파라미터(Parameter)

: 함수에 전달되는 값을 받는 데 쓰이는 매개변수.

void Func(int a)
{
	int b = a;
}

 

위 함수에서 전달되는 값을 받는데 사용된 int a 가 매개변수(파라미터)이다.

 

아규먼트(Argument)

: 함수에 실제로 전달되는 값. 인자라고도 불린다. 함수에 전달된 값인 10이 인자(아규먼트)다.

void Func(10)
{
	
}

함수에 전달된 값이라는 개념은 알겠는데 그래서 저 값을 어떻게 쓴다는 건지는 감이 안온다.. 변수가 1이라는 값을 참조하는 변수 a를 가져오면 a가 파라미터고 1이 아규먼트인건가..?

지금까지 이해한 대로라면 아규먼트가 함수에 전달되는 값이고, 그 값을 받기 위해 사용되는 변수(매개변수)가 파라미터 인 것 같다.