접근 제어는 다른 소스 파일 및 모듈의 코드에서 코드의 일부에 대한 접근을 제한합니다. 이 기능을 사용하면 코드의 구현한 세부 사항을 숨기고, 해당 코드를 접근하고 사용할 수 있는 인터페이스를 지정할 수 있습니다. 각각의 타입(클래스, 구조체, 열거형)뿐만 아니라 프로퍼티, 메소드, 초기화, 서브스크립트에 대해 접근 레벨을 지정할 수 있습니다. 프로토콜은 전역 상수, 변수 및 함수처럼 특정 컨텍스트로 제한 될 수 있습니다. Swift는 다양한 수준의 접근 이외에도 일반적인 시나리오에 대한 기본 접근 수준을 제공함으로써, 명시적 접근 제어 수준을 지정하지 않아도됩니다. Note : 접근 제어를 적용할 수 코드(프로퍼티, 타입, 함수 등)의 다양한 측면을 간결하게 하기 위해 아래에서 "엔티티"라고 언급합니다.