ref (안에 물건이 있는 상자)
내가 너한테 사과가 들어있는 상자를 줬어.
너는 그 사과를 바나나로 바꿔서 다시 나한테 돌려줘!
void ChangeFruit(ref string fruit)
{
fruit = "바나나"; // 과일을 바꿈
}
string myFruit = "사과"; // 상자에 "사과"를 넣음
ChangeFruit(ref myFruit);
Console.WriteLine(myFruit); // 출력: 바나나
즉, ref는 원래 있는 값을 바꿀 때 사용해!
(함수에 넘기기 전에 꼭 값을 넣어야 해!)
out (빈 상자)
내가 너한테 빈 상자를 줬어.
너는 그 안에 오렌지를 넣어서 나한테 돌려줘!
void GiveFruit(out string fruit)
{
fruit = "오렌지"; // 과일을 넣어 줌
}
string myFruit; // 빈 상자 (값 없음)
GiveFruit(out myFruit);
Console.WriteLine(myFruit); // 출력: 오렌지
즉, out은 새 값을 줄 때 사용해!
(함수에서 반드시 값을 넣어야 해!)
정리
쉽게 말하면, ref는 있는 걸 바꾸는 것, out은 새 걸 받는 것이야!
'(신)회사 > 개인 공부' 카테고리의 다른 글
델리게이트 & 이벤트 (delegate & event) (1) | 2024.11.07 |
---|---|
델리게이트 (delegate) (2) | 2024.11.07 |