반응형
1. 은닉성
자동차에서 우리는 핸들을 돌리고, 페달을 밟고, 차문을 열고 닫을 수 있다.
자동차 내부에서는 많은 고급기술들이 있지만 외부 노출까지 하지 않는다.
이처럼 코드내에서 모든 멤버에게 접근할 수 있도록 아니면 접근을 한정하는 것을 은닉성이라고 한다.
2. 접근 한정자
01 public
모든 멤버가 액세스 할 수 있다.
class Pig
{
public int weight
}
static void Main(string[] args)
{
Pig pig = new Pig();
pig.weight = 110;
}
02 protected
같은 클래스 내에서 혹은 상속 받은 자식 클래스만 액세스 할 수 있다.
class Pig
{
protected int weight;
}
class PinkPig : Pig
{
void PinkWeight()
{
weight = 110;
}
}
03 private
같은 클래서 내에서만 액세스 할 수 있다.
class Pig
{
private int weight;
private void Eat()
{
}
}
class 외부에서 액세스 할려고 하면 오류가 뜨는 것을 확인할 수 있다.
pig.weight = 110;
pig.Eat();
클래스 내에서는 액세스 가능하다.
오류가 안나는 것을 확인할 수 있다.
개인 정보로 예를 들어보자
이름(public) : 누구나 내 이름을 알아도 된다. 별로 중요하지 않는 정보
주민번호(private) : 나만 접근해야 하는 중요한 개인 정보
주소(protected) : 주변의 사람들도 알아도 되는 정보
class personInoformation
{
public string name = "piggy";
private int securitynumber = 12345;
protected string address = "korea";
}
class stranger
{
void view_Information()
{
personInoformation piggy = new personInoformation();
string x = piggy.name;
// protected와 private는 보호수준 때문에 불가능!
}
}
class friend : piggy
{
void view_Information()
{
personInoformation piggy = new personInoformation();
string x = piggy.name;
string y = piggy.address;
// private는 보호수준 때문에 불가능!
}
}
본 게시글은 MMORPG Part1을 수강하고 정리한 글입니다.
반응형
'유니티 공부 > C# 문법' 카테고리의 다른 글
C# 문법 - 다형성(virtual, override) (0) | 2023.04.12 |
---|---|
C# 문법 - 클래스 형식 변환 (0) | 2023.04.12 |
C# 문법 - 상속성 (0) | 2023.04.11 |
C# 문법 - static (0) | 2023.04.11 |
C# 문법 - this 키워드 (0) | 2023.04.11 |
댓글