Ref, Out에 의한 참조(Reference)
함수의 인수 전달의 또 다른 방법으로 매개변수를 참조로 넘길수도 있다. 우선 결론부터 말하면 참조형 매개 변수(Reference Parameter)는 "메모리 위치에 대한 참조"다
Ref에 의한 참조
namespace Reference
{
class Program
{
static void Main(string[] args)
{
int X1 = 10;
CallbyRef(ref X1);
Console.WriteLine("Call By Reference : {0}", X1);
}
static void CallbyRef(ref int X)
{
X = 1000;
}
}
}
결과 : 1000
함수에 ref라는 키워드가 붙는다 이렇게 사용을 하게 되면 Ref에 의한 참조가 된다.
이는 반드시 초기화를 진행을 해야만 사용이 가능하다 아니면 에러가 발생한다.
"반드시 초기화 진행 "
○ Ref 키워드
- 참조에 의한 전달을 할때 사용하는 키워드
- 참조로 값을 넘길 때 참조할 대상은 반드시 초기화 되어야 한다.
Out에 의한 참조 ( Reference )
namespace Reference
{
class Program
{
static void Main(string[] args)
{
int X1;
CallbyOut(out X1);
Console.WriteLine("Call By Out : {0}", X1);
}
static void CallbyOut(out int x)
{
x = 1000;
}
}
}
ref키워드는 반드시 참조할 변수는 초기화되어야 한다.
○ out 키워드
- 참조에 의한 전달을 할때 사용하는 키워드
- 참조로 값을 넘길 때 참조할 대상을 초기화 할 필요는 없다.
■ ref와 out의 특징
- ref와 out은 둘다 참조로 전달 된다.
■ ref와 out
- ref는 함수 외부에서 함수 내부로 값을 전달할때 사용하는 참조 키워드
- out는 함수 내부에서 함수 외부로 값을 추출할때 사용하는 참조 키워드
'PROGRAMING > C#' 카테고리의 다른 글
일반화 메소드 (0) | 2018.01.17 |
---|---|
확장 메소드 (0) | 2018.01.11 |
값 타입 (0) | 2018.01.03 |
삭제 패턴 (0) | 2018.01.03 |
인터페이스 (Interface) (0) | 2017.12.27 |