C#์, ์ ๋ํฐ ํ๋ค๊ฐ ๊ฐ์ฒด์งํฅ์ด ์ง์ผ์ง๋๊ฒ ๋ง๋๊ฑด์ง ์๋ฌธ์ค๋ฌ์์ ์ง๋ฌธํด๋ด
public class A
{
public A(string name)
{
this.name = name;
}
public void Test(A obj)
{
๋์ถฉ obj.name ์ ๊ทผํด์ ๋งํด์ฃผ๊ธฐ();
}
private string name;
}
public class Main
{
static void main(string[] args)
{
A a = new A("์จ๋ฐ");
A b = new A("๋ ธ์ด๋ง");
a.Test(b);
}
}
์ด๋ ๊ฒ ํ์ ๋ a์์ b์ private์ธ name ํ๋์ ์ ๊ทผํ ์ ์๋๋ฐ ์ด๊ฒ ์ ์์ธ๊ฑฐ์?
๊ฐ์ฒด์งํฅ ๋ฐฐ์ธ ๋๋ ์ ๋ณด ์๋๋๋ฌธ์ private๋ก ์ธ๋ถ์์ ์ ๊ทผ ๋ชปํ๊ฒ ํ๋ค๊ณ ํ๋๋ฐ ๋ง์ ์ฝ๋ ์ง๋ณด๋๊น ๋น์ฃผ์ผ ์คํ๋์ค์์ ํํด๋ ์ ๊ฑธ์ด์ ๊ด์ฐฎ์๊ฑด๊ฐ ์ถ์
์ ์๋ถํฐ ๋ค์ ๋ณด์ private๋ ๊ฐ์ ํด๋์ค ๋ด์์ ์ ๊ทผ ๊ฐ๋ฅํจ. ๊ทธ๋ฌ๋๊น Aํด๋์ค์ธ a ์์ Aํด๋์ค์ธ b์ private ๋ฉค๋ฒ์ ๋น์ฐ ์ ๊ทผ ๊ฐ๋ฅ
์, ๊ฐ์ ํด๋์ค ๋ฒ์์๊ตฌ๋
ใณใณ