[c#] 클래스의 가시성

목차

  1. 내부 클래스
  2. 공개 클래스
  3. 보호된 내부 클래스
  4. 보호된 클래스
  5. 개인 클래스

1. 내부 클래스

내부 클래스는 기본적으로 가장 제한적인 가시성을 가진 클래스입니다. 다른 외부 클래스에서 내부 클래스에 접근할 수 있지만, 외부에서 내부 클래스에 접근하는 것은 불가능합니다. 내부 클래스를 선언하기 위해 internal 키워드를 사용합니다.

예시:

internal class InternalClass 
{
    // 내부 클래스 멤버들
}

2. 공개 클래스

공개 클래스는 가장 범용적인 가시성을 가진 클래스입니다. 어떤 모듈이던 해당 클래스에 접근 가능합니다. 공개 클래스를 선언하기 위해 public 키워드를 사용합니다.

예시:

public class PublicClass 
{
    // 공개 클래스 멤버들
}

3. 보호된 내부 클래스

보호된 내부 클래스는 해당 클래스를 포함하는 클래스와 파생된 클래스에서 접근할 수 있지만, 외부에서는 접근할 수 없는 가시성을 가집니다. 보호된 내부 클래스를 선언하기 위해 protected internal 키워드를 사용합니다.

예시:

protected internal class ProtectedInternalClass
{
    // 보호된 내부 클래스 멤버들
}

4. 보호된 클래스

보호된 클래스는 파생된 클래스에서만 접근할 수 있는 가시성을 가집니다. 보호된 클래스를 선언하기 위해 protected 키워드를 사용합니다.

예시:

protected class ProtectedClass
{
    // 보호된 클래스 멤버들
}

5. 개인 클래스

개인 클래스는 해당 클래스가 선언된 클래스에서만 접근할 수 있는 가시성을 가집니다. 개인 클래스를 선언하기 위해 별도의 키워드를 사용하지 않습니다.

예시:

class PrivateClass
{
    // 개인 클래스 멤버들
}

이러한 가시성을 이용하여 클래스의 캡슐화를 유지하고, 모듈화된 아키텍처를 설계할 수 있습니다. 클래스의 가시성을 올바르게 설정함으로써 응용프로그램의 유지보수성과 보안을 향상시킬 수 있습니다.

참조: