유니티 C# (접근 제한자)
접근 제한자
- public
- private
- protected
public
는 다른 클래스에서의 모든 접근을 허가한다.
private
는 다른 클래스에서의 접근을 허가하지 않는다.
protected
는 해당 클래스를 상속받은 클래스에서만 접근을 허가한다.
ParentClass.cs
public class ParentClass : MonoBehaviour
{
public int pubVar;
private int priVar;
protected int proVar;
public void PubFunction()
{
print ("I am public");
}
private void PriFunction()
{
print ("I am private");
}
protected void ProFunction()
{
print ("I am protected");
}
}
ChildClass.cs
public class ChildClass : ParentClass
{
void Start()
{
// public
PubFuction();
// private
PriFunction();
// protected
ProFunction();
}
}
실행해보면 에러가 발생한다.
private는 다른클래스에서 접근이 허용되지 않기때문이다.
PriFunction코드만 주석 처리를 해주자
다시 실행해보면 잘 실행됨을 알수있다