private 키워드는 멤버 액세스 한정자입니다.
이 페이지에서는
private접근에 대해 다룹니다.private키워드는 액세스 한정자의private protected일부이기도 합니다.
프라이빗 액세스는 최소 허용 액세스 수준입니다. 프라이빗 멤버는 다음 예제와 같이 선언된 클래스 또는 구조체의 본문 내에서만 액세스할 수 있습니다.
class Employee
{
private int _i;
double _d; // private access by default
}
동일한 본문의 중첩된 형식은 해당 개인 멤버에 액세스할 수도 있습니다.
클래스 외부의 프라이빗 멤버 또는 선언된 구조체를 참조하는 것은 컴파일 시간 오류입니다.
다른 액세스 한정자와 비교 private 하려면 접근성 수준 및 액세스 한정자를 참조하세요.
예시
이 예제에서 클래스에는 Employee 두 개의 프라이빗 데이터 멤버 _name 와 _salary. 프라이빗 멤버는 멤버 메서드를 제외하고 액세스할 수 없습니다. 프라이빗 멤버에 대한 제어된 액세스를 허용하도록 명명 GetNameSalary 되고 추가되는 공용 메서드입니다.
_name 멤버는 public 메서드를 통해 액세스되고 _salary 멤버는 공용 읽기 전용 속성을 통해 액세스됩니다. 자세한 내용은 속성참조하세요.
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