본문 바로가기
PROGRAMING/C#

Ref, Out에 의한 참조(Reference)

by 평온평온 2018. 1. 8.
반응형

 

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