namespace MainApp
{
// 중첩 클래스
class OutClass
{
private int a = 1;
public class InClass1
{
private int b = 2;
private void B()
{
// 외부 클래스와 동등 클래스에 접근
OutClass outClass = new OutClass();
outClass.A(); // 중첩클래스의 private에 접근 가능
InClass2 inClass2 = new InClass2();
inClass2.C(); // 중첩클래스 안에 있지만 동등한 클래스의 private에 접근 불가능
}
}
public class InClass2
{
private int c = 3;
private void C()
{
}
}
private void A()
{
InClass1 inClass1 = new InClass1();
inClass1.B(); // 중첩 클래스에서 내부 클래스들의 private 멤버에는 접근이 불가능하다.
InClass2 inClass2 = new InClass2();
inClass2.C();
}
}
댓글 영역