본문 바로가기

PROGRAMING/C#

Ref, Out에 의한 참조(Reference)

반응형


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