개발일기

Ref & Out 본문

Study/유니티

Ref & Out

김조성준 2023. 7. 20. 19:02

매개변수를 참조에 의한 전달을 사용할 수 있습니다. C언어의 포인터와 같습니다.

int x=3;
int y=4;

void Swap(ref int a, ref int b){
int temp=0;
temp=a;
a=b;
b=temp;
}

 

참조값을 반환할 땐, 반환형과 반환값에 ref를 붙여야합니다. 그리고 지역변수에 해당 반환값을 담는다면 지역변수에도 ref를 붙여서 사용해야 합니다.

int x=3;
int y=4;

ref int Plus(int a,int b){
return ref a+b;
}

int ref result = Plus(x,y);

 

ref처럼 사용되는 것에는 out이 있습니다. out은 ref와 달리 오류를 감지해주기에 out이 ref보단 안정적입니다.

// out을 사용하는 방식 1.
int a = 10;
int b = 5;
int c = 0;
int d = 0;

Divide(a, b, out c, out d);

//out을 사용하는 방식 2.
int c;
int d;

Divide(a, b, out c, out d);

//out을 사용하는 방식 3.
Divide(a, b, out int c, out int d);

다음 코드에서 보이듯이 out의 경우 c,d를 선언하여 값을 대입해주는 방식, 선언만 해주는 방식, 선언하지 않고 메소드를 실행할때 선언해주는 방식 모두 사용이 가능합니다.

'Study > 유니티' 카테고리의 다른 글

인터페이스 & 추상클래스  (0) 2023.07.22
클래스 & 생성자  (0) 2023.07.21
Elvis 연산자 & 삼항 연산자  (0) 2023.07.19
참조 형식 & 값 형식  (0) 2023.07.18
Event  (0) 2023.07.17