이곳에 질문들을 보다 느낀게 뭔가 체계적으로 공부을 못해서인지 기본이 너무 부족한 느낌이 들어 기본 예제를 다시보고 있는데 궁금한게 있어 질문을 드립니다.
객체를 매개변수로 넘겨줄때 참조형식으로 넘겨주는건 알겠는데 Test_D 클래스 안의 new_C 클래스 변수에만 값을 적용해보고 싶은데 new 키워드로 생성해도 마찬가지로 변경이 되어버리네요.
기존의 값을 전달받아 해당 객체에만 값을 변경하고 싶은데 안되는건가요??
Test_C c = new Test_C();
c.Print_C(); //1000
Test_D d = new Test_D(c);
d.Print_D(); //1000
c.set_C(5000);
c.Print_C(); //5000
d.Print_D(); //5000
d.set_D(8000);
c.Print_C(); //8000
d.Print_D(); //8000
class Test_C
{
int C = 1000;
public void Print_C()
{
Console.WriteLine(C);
}
public void set_C(int new_Value)
{
C = new_Value;
}
}
class Test_D
{
Test_C new_C;
public Test_D(Test_C old)
{
new_C = new Test_C();
new_C = old; //참조주소를 가지게 된다.
}
public void Print_D()
{
new_C.Print_C();
}
public void set_D(int a)
{
new_C.set_C(a);
}
}