[C#] ref : ์ฐธ์กฐ์ ์ํ ๋งค๊ฐ๋ณ์ ์ ๋ฌ
2021. 11. 3. 09:01
๋ฉ์๋์ ๋งค๊ฐ๋ณ์๋ฅผ int a, int b์ ๊ฐ์ด ์ ์ํ์ ๋
๊ฐ์ ์ํ ์ ๋ฌ(call by value)๋ก ์ด๋ฃจ์ด์ ธ
๋ฉ์๋๋ฅผ ํธ์ถํ ๋ ์ฌ์ฉํ ๋ณ์ x, y๋ ๋ณต์ฌ๋์ด a, b์ ๋ค์ด๊ฐ๋ค.
๋ฐ๋ผ์ x, y๊ฐ์ ๋ฐ๋์ง ์๋๋ค.
class Calcul
{
public static int Plus(int a, int b)
{
...
}
}
class Program
{
static void Main(string[] args)
{
int x = 3;
int y = 5;
int result = Calcul.Plus(x, y);
}
}
๋งค๊ฐ ๋ณ์๊ฐ ๋ฉ์๋์ ๋๊ฒจ์ง ์๋ณธ ๋ณ์๋ฅผ ์ง์ ์ฐธ์กฐํ๊ณ ์ถ๋ค๋ฉด
์ฐธ์กฐ์ ์ํ ์ ๋ฌ(call by reference)์ ์ฌ์ฉํ๊ธฐ ์ํด ref๋ฅผ ์ ์ธํด์ฃผ๋ฉด ๋๋ค.
๋ฉ์๋๋ฅผ ์ ์ธํ ๋, ๋ฉ์๋๋ฅผ ํธ์ถํ ๋ ๋ชจ๋ ref ํค์๋๋ฅผ ๋ณ์ ์์ ๋ถ์ฌ์ค์ผํ๋ค.
class Calcul
{
public static int Plus(ref int a, ref int b)
{
...
}
}
class Program
{
static void Main(string[] args)
{
int x = 3;
int y = 5;
int result = Calcul.Plus(ref x, ref y);
}
}
728x90
'๐ฃ์ธ์ด > C#' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C#] this, this(), base, base() (0) | 2021.11.03 |
---|---|
[C#] params : ๊ฐ๋ณ ๊ธธ์ด ๋งค๊ฐ ๋ณ์ (0) | 2021.11.03 |
[C#] ๋นํธ ์ฐ์ฐ์ : <<, >>, &, |, ^,~ (0) | 2021.11.02 |
[C#] var : ์๋ ํ์ ์ง์ (0) | 2021.11.02 |
[C#] Nullable (0) | 2021.11.02 |