본문 바로가기

Unity(C#)

Unity(C#) 접근한정자

C#의 접근한정자는 총4가지 존재한다.

public, private, protected, internal

 

public은 어디서든 접근이 가능하다.

private은 자기자신말고는 접근이 불가능하다.

protected은 자기자신과 자기를 상속하는 클래스들만 접근이 가능하다.

internal은 자신이 혹한 어셈블리 에서만 접근이 가능하다.

protected internal은 어셈블리 내의 상속 클래스에서만 접근이 가능하다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
namespace Test_0
{
    public class Test : MonoBehaviour
    {
        public int a;
        private int b;
        protected int c;
    }
}
 
namespace Test_1
{
    public class Temp_1 : MonoBehaviour
    {
       public void start()
        {
            Test_0.Test t = new Test_0.Test();
            int value = t.a;
        }
    }
}

상속을받지도 자신의 속하지도않아서 public인 a만 접근이 가능하다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
namespace Test_0
{
    public class Test : MonoBehaviour
    {
        public int a;
        private int b;
        protected int c;
    }
}
 
namespace Test_1
{
    public class Temp_1 : Test_0.Test
    {
       public void start()
        {
            int value = a;
            int value_1 = c;
        }
    }
}

이번에는 Temp_1이 Test를 상속을받아 public과 protected의 접근이 가능해졋다.

private는 어떤방법을써도 다른클래스에서 접근할수없다.

 

 

'Unity(C#)' 카테고리의 다른 글

Unity(C#) 람다식  (0) 2020.04.29
Uniyt(C#) 조건부 연산자 ?:  (0) 2020.04.29
Unity(C#) Tuple  (0) 2020.04.24
Unity(C#)무명형식,무명메소드  (0) 2020.04.22
Unity(C#) Event  (0) 2020.04.21