본문 바로가기

C#

C# 접근 제한자 (Access Modifiers)

C#에서 접근 제한자는 클래스나 멤버가 어디서 접근 가능한지를 지정하는 키워드입니다. 이를 통해 코드의 캡슐화와 안전성을 보장할 수 있습니다.

1. 주요 접근 제한자

C#에서 자주 사용하는 접근 제한자는 다음과 같습니다.

  • public: 어디서나 접근 가능합니다.
  • private: 같은 클래스 내에서만 접근 가능합니다.
  • protected: 같은 클래스와 상속받은 클래스에서 접근 가능합니다.
  • internal: 같은 어셈블리 내에서 접근 가능합니다.
  • protected internal: 같은 어셈블리 내 혹은 상속받은 클래스에서 접근 가능합니다.
  • private protected: 같은 클래스, 동일 어셈블리 내 상속받은 클래스에서 접근 가능합니다.

2. 예제 코드

public class Example
{
    public int PublicValue = 1;           // 어디서나 접근 가능
    private int PrivateValue = 2;         // 같은 클래스 내에서만
    protected int ProtectedValue = 3;     // 상속 클래스 포함
    internal int InternalValue = 4;       // 같은 어셈블리 내
    protected internal int ProtInternal = 5;   // 상속 클래스 or 같은 어셈블리
    private protected int PrivProt = 6;   // 같은 어셈블리 내 상속 클래스
}

3. 요약

접근 제한자를 적절히 사용하면 코드 유지보수가 쉬워지고, 의도하지 않은 사용을 막을 수 있습니다. 기본값은 private이므로 꼭 필요한 경우에만 범위를 넓히세요.