private(C# 참조)
private
키워드는 멤버 액세스 한정자입니다.
이 페이지에서는
private
액세스를 설명합니다.private
키워드는private protected
액세스 한정자의 일부이기도 합니다.
private 액세스는 가장 낮은 액세스 수준입니다. private 멤버는 이 예제와 같이 선언된 클래스 또는 구조체의 본문 내에서만 액세스할 수 있습니다.
class Employee
{
private int _i;
double _d; // private access by default
}
동일한 본문에 중첩된 형식도 이러한 private 멤버에 액세스할 수 있습니다.
선언된 클래스 또는 구조체 외부에서 private 멤버를 참조하면 컴파일 시간 오류가 발생합니다.
private
및 다른 액세스 한정자와 비교는 액세스 가능성 수준 및 액세스 한정자를 참조하세요.
예시
이 예제에서 Employee
클래스는 두 전용 데이터 멤버인 _name
및 _salary
를 포함합니다. private 멤버는 멤버 메서드에 의한 경우를 제외하고 액세스할 수 없습니다. GetName
및 Salary
라는 public 메서드는 private 멤버에 제어된 액세스 권한을 허용하기 위해 추가됩니다. _name
멤버는 public 메서드를 통해 액세스하고, _salary
멤버는 public 읽기 전용 속성을 통해 액세스합니다. 자세한 내용은 속성에 정의된 인터페이스의 private C++ 관련 구현입니다.
class Employee2
{
private readonly string _name = "FirstName, LastName";
private readonly double _salary = 100.0;
public string GetName()
{
return _name;
}
public double Salary
{
get { return _salary; }
}
}
class PrivateTest
{
static void Main()
{
var e = new Employee2();
// The data members are inaccessible (private), so
// they can't be accessed like this:
// string n = e._name;
// double s = e._salary;
// '_name' is indirectly accessed via method:
string n = e.GetName();
// '_salary' is indirectly accessed via property
double s = e.Salary;
}
}
C# 언어 사양
자세한 내용은 C# 언어 사양의 선언된 내게 필요한 옵션을 참조하세요. 언어 사양은 C# 구문 및 사용법에 대 한 신뢰할 수 있는 소스 됩니다.
참고 항목
.NET