Language/C#
[기본] 참조(얕은 복사)
리네엔
2022. 9. 20. 02:26
Class
Class A{
public B b;
}
Class B{
public int c;
}
Class Main{
public main(){
B b = new B(); // B를 메모리에 할당 -> heap의 MB공간을 차지한다고 가정
A a = new A(); // A를 메모리에 할당 -> heap의 MA공간을 차지한다고 가정
a.b = b; // A의 b는 MB를 참조함
}
}
예제
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
namespace Rextester
{
public class Program
{
public static void Main(string[] args)
{
Engine e = new Engine();
e.power = 1;
Coperate c = new Coperate();
c.engine = e;
Console.WriteLine(c.engine.power);
e.power = 2;
Console.WriteLine(c.engine.power);
}
}
public class Engine{
public int power;
}
public class Coperate{
public Engine engine;
}
}
output :
1
2