개발일기
Ref & Out 본문
매개변수를 참조에 의한 전달을 사용할 수 있습니다. 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 |