C#
매개 변수에 대하여
JAESEONG LEE- developer
2022. 7. 21. 11:21
매개 변수도 메소드 외부에서 메소드 내부로 데이터를 전달하는 매개체 역할을 할 뿐이지, 근본적으로는 "변수"입니다. 한 변수를 또 다른 변수에 할당하면 변수가 담고 있는 데이터만 복사가 될 뿐입니다. 그 데이터가 값이든 참조든 간에 말입니다. Calculator.Plus() 메소드가 호출될 때는 x가 담고 있는 데이터 3은 매개 변수 a로, y가 담고있는 데이터 4는 매개 변수 b로 복사가 이루어집니다.
a는 x가 갖고 있는 것과 똑같은 데이터를 갖고 있지만, a와 x는 완전히 별개의 메모리 공간을 사용합니다. b와 y의 관계도 마찬가지고요. 따라서 a를 수정한다고 해도 x는 아무런 영향을 받지 않습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
using System;
namespace SwapByValue
{
class MainApp
{
public static void Swap(int a, int b)
{
int temp = b;
b = a;
a = temp;
}
static void Main(string[] args)
{
int x = 3;
int y = 4;
Console.WriteLine("x:{0}, y:{1}", x, y);
Swap(x, y);
Console.WriteLine("x:{0}, y:{1}", x, y);
}
}
}
|
cs |