키워드가 없는 매개 변수로 값 유형 ( int
, struct
등)을 ref
전달하면 해당 변수의 사본이 메소드에 전달되지만 ref
키워드를 사용하면 해당 변수에 대한 참조가 전달됩니다. 새로운 것이 아닙니다.
그러나 ref
키워드가 없어도 클래스와 같은 참조 유형을 사용 하면 사본이 아닌 메소드에 참조가 전달됩니다. 그렇다면 ref
키워드를 참조 유형과 함께 사용하는 것은 무엇 입니까?
예를 들어 보자.
var x = new Foo();
다음의 차이점은 무엇입니까?
void Bar(Foo y) {
y.Name = "2";
}
과
void Bar(ref Foo y) {
y.Name = "2";
}