접근 제어
접근 제어
접근 제어은(는) CoddyKit의 무료 Swift Academy 강의입니다. 이것은 1개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Swift Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Swift Academy 강의에는 총 1개의 강의가 포함되어 있습니다.
소개
안녕하세요.
접근 제어는 다른 소스 코드 파일이나 모듈의 코드에서 코드의 일부에 접근하는 것을 제한합니다.
모듈: 모듈은 프레임워크 또는 애플리케이션 코드 배포 단위입니다.
모듈에는 여러 소스 코드 파일이 포함됩니다.
소스 코드 파일:
소스 코드 파일은 모듈 내부에 있는 하나의 소스 코드 파일입니다.
접근 수준
형식의 AL(접근 수준)이 비공개로 정의되면 해당 형식에 속한 모든 항목의 AL도 비공개가 됩니다.
계속
비공개 접근 지정자를 앞에 붙여 정의한 variable, 메서드 등의 항목은 해당 범위 안에서만 완전히 사용할 수 있습니다.
파일 전용 접근 지정자는 variable이 정의된 범위를 제외하고 동일한 파일에 정의된 다른 클래스 또는 확장에서 접근할 수 있도록 합니다.
특히 확장이 동일한 소스 코드 파일에 정의된 경우 비공개로 정의된 객체에는 접근할 수 없지만, 파일 전용 접근 지정자를 사용하면 이러한 상황에 적합합니다.
공개
공개 접근 지정자는 모듈 전체에서 접근할 수 있지만, 두 모듈을 사용할 때 하위 클래스와 범위에서는 제한적일 수 있습니다.
또한 공개 접근 지정자로 정의한 variable과 메서드에 접근하지 못할 수도 있습니다.
개방
공개로 정의된 클래스는 다른 모듈에서 하위 클래스가 될 수 없으며(상위 클래스가 될 수 없으며) 확장할 수도 없고, 포함된 메서드를 재정의할 수 없습니다.
따라서 공개보다 더 유연한 접근 지정자가 필요합니다.
간단히 말해 개방 접근 제한자는 "공개보다 더 공개적인" 접근 제한자라고 할 수 있습니다.
계속
따라서 두 모듈을 사용하고 한 모듈의 variable과 메서드에 다른 모듈에서 접근하려면 다음과 같이 하면 됩니다. 상위 클래스로 설정한 클래스의 시작 부분에 개방 접근 지정자를 포함합니다.
마찬가지로 재정의하려는 메서드를 개방으로 정의하면 충분합니다.
내부
열거형 이외의 형식에서 형식이 공개로 정의되면 항목은 자동으로 내부가 됩니다. 그러나 열거형 형식이 공개로 정의되면 열거형의 요소도 공개가 됩니다.
public enum Direction { case North, South, East, West }
//each case is also has public access level.하위 클래스 정의
하위 클래스 정의
어떤 클래스든 하위 클래스를 만들 수 있습니다. 해당 맥락에서 클래스에 접근할 수 있으면 충분합니다.
하위 클래스는 상위 클래스보다 더 높은 접근 수준을 가질 수 없습니다. 상위 클래스가 하위 클래스를 감싸기 때문입니다.
재정의된 메서드는 상위 클래스의 원래 메서드보다 더 높은 접근 수준을 가질 수 있습니다.
public class ClassA {
//method private tanimlanmis
private func aPrivateMethod() {}
internal func anInternalMethod() {}
}
internal class ClassB: ClassA {
// The overridden method is defined internally. Access level has increased even more.
override internal func anInternalMethod() {}
}계속
상수, variable, 속성 및 서브스크립트의 접근 수준
상수, variable 또는 속성은 연결된 형식보다 덜 제한적인 접근 수준을 가질 수 없습니다. 공개 속성은 공개 클래스와 같습니다.
상수, variable, 속성 및 서브스크립트의 가져오기와 설정하기도 상수나 variable과 마찬가지로 자신이 속한 형식과 동일한 접근 수준을 가집니다.
축하합니다
축하합니다 🎉
이번 수업에서는 Swift의 접근 제어를 배웠습니다.
이제 Swift 초급자 과정을 완료했습니다.
시험을 시작하고 수료증을 받아 보세요. 🌟

자주 묻는 질문
“접근 제어” 강의는 무료인가요?
네 — “접근 제어” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Swift Academy 강의 전체를 잠금 해제할 수 있습니다. Swift Academy 강의에는 총 1개의 강의가 포함되어 있습니다.
“접근 제어”에서 뭘 배우나요?
접근 제어 브라우저에서 직접 실행하는 실습 코드로 Swift Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Swift Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Swift Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 1개 중 1번째 강의입니다.
“접근 제어” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Swift Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Swift Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.