접근제한자란 무엇이며, 각각 어떤 차이가 있는지 비교해서 설명해주세요.
- 접근 제한자는 클래스 내부에 선언되는 필드와 메서드 앞에 선언되어, 해당 필드와 메서드들에 대한 외부접근을 제한합니다. 접근제한자의 경우에는 크게 4가지로 나뉘게 됩니다. 먼저 public은 외부에서 자유롭게 접근할 수 있습니다. protected는 파생클래스에서 접근할 수 있습니다. private는 외부에서 접근할 수 없습니다. internal은 같은 프로젝트 내에서는 접근할 수 있습니다. 클래스 앞에도 접근제한자가 붙을 수 있는데 이 경우에는 public 혹은 internal로만 붙여 사용할 수 있으며, default는 internal입니다. 만약, 인스펙터상에서 조절해야하거나 직렬화 대상일 경우거나 MonoBehavior를 상속받아 만들어진 클래스라면 public을 접근제한자로 두어야 문제없이 동작합니다.