[c#] 클래스의 내부 클래스

C#에서 내부 클래스는 다른 클래스 또는 구조체 내에 중첩된 클래스를 의미합니다. 내부 클래스는 외부 클래스의 멤버에 접근할 수 있으며, 단순하게 새로운 유형을 정의하고 싶을 때 특히 유용합니다.

내부 클래스는 외부 클래스의 멤버와 메서드에 접근할 수 있으며, 외부 클래스의 private 멤버도 접근할 수 있습니다. 또한 내부 클래스는 외부 클래스의 인스턴스를 만들지 않고도 내부 클래스 자체의 인스턴스를 만들 수 있습니다.

아래는 내부 클래스의 예시입니다.

public class OuterClass
{
    private int outerValue;

    public class InnerClass
    {
        public void DisplayOuterValue(OuterClass outer)
        {
            Console.WriteLine(outer.outerValue);
        }
    }
}

위의 코드에서 InnerClassOuterClass 내부에 중첩됩니다. 이때 InnerClassDisplayOuterValue 메서드를 통해 OuterClassouterValue에 접근할 수 있습니다.

내부 클래스는 코드의 구조를 더 깔끔하게 만들 수 있으며, 논리적인 그룹을 이루는 클래스를 정의할 때 유용합니다. 이를 통해 코드를 더 읽기 쉽고 이해하기 쉽게 만들 수 있습니다.

내부 클래스의 사용은 상황에 따라 다르지만, 작은 규모의 클래스를 다른 클래스 내에 감추어 코드를 구조화하고 캡슐화하는 데 도움이 됩니다.