[c#] 클래스의 가시성
목차
- 내부 클래스
- 공개 클래스
- 보호된 내부 클래스
- 보호된 클래스
- 개인 클래스
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
{
// 개인 클래스 멤버들
}
이러한 가시성을 이용하여 클래스의 캡슐화를 유지하고, 모듈화된 아키텍처를 설계할 수 있습니다. 클래스의 가시성을 올바르게 설정함으로써 응용프로그램의 유지보수성과 보안을 향상시킬 수 있습니다.
참조:
- Microsoft Docs. “클래스 및 구조체.” Microsoft Docs. https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/classes-and-structs/classes
- MSDN. “C# 프로그래밍 가이드.” MSDN. https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/index