본문 바로가기
유니티 공부/C# 문법

C# 문법 - 은닉성(public, protected, private)

by 코딩하는 돼징 2023. 4. 12.
반응형

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을 수강하고 정리한 글입니다.

https://www.inflearn.com/course/%EC%9C%A0%EB%8B%88%ED%8B%B0-mmorpg-%EA%B0%9C%EB%B0%9C-part1/dashboard

 

반응형

'유니티 공부 > 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

댓글