Pass(Call) By Value와 Pass(Call) By Reference의 차이점 in C#

JS·2023년 2월 4일
0

Tech Reference

목록 보기
6/13
post-thumbnail

C#에서 Argument를 Parameter에게 전달하는 방식에는 두 가지가 있다. 객체의 복사본을 전달하거나 객체에 접근할 수 있는 주소를 전달하는 두 방식인데, 프로그래머는 내가 쓴 코드가 어떤 방식으로 전달되어있는지 명확히 인지하고 있어야 한다

Pass(Call) By Value

객체의 복사본을 전달하는 방식이다. 복사된 값은 Stack Memory를 사용한다

복사된 값을 변경해도 각각의 객체는 서로 다른 주소를 가리키고 있기 때문에 서로 영향을 주지 않는다

Pass(Call) By Reference

참조 타입은 주소를 전달하며 Heap Memory를 사용한다

각각의 객체는 서로 같은 주소를 가리키고 있기 때문에 복사된 값을 변경하면 원본 또한 변경된다

profile
게임 프로그래머 지망생

0개의 댓글