안녕하세요. 맥파이입니다.
최근 열심히 글을 올리고 있습니다.
이제 접근수준에 대해서 알아볼께요.
접근 수준(Access Control)
접근수준(Access Control)은 코드의 일부를 공개할지, 숨길지를 결정하는 기능입니다. 이 기능을 사용하면, 모듈(Module) 내에서 일부 코드를 다른 모듈에 노출하거나, 숨길 수 있습니다.
Swift에서는 5가지의 접근수준을 제공합니다.
- Open
- Public
- Internal
- File-private
- Private
각 접근수준에 대한 설명은 다음과 같습니다.
Open:
가장 높은 접근수준으로, 해당 클래스 또는 클래스 멤버를 다른 모듈에서 사용할 수 있습니다. 상속과 재정의가 가능합니다.
Public:
다른 모듈에서 해당 클래스 또는 클래스 멤버를 사용할 수 있습니다. 상속과 재정의가 가능합니다.
Internal:
기본 접근수준으로, 모듈 내에서 해당 클래스 또는 클래스 멤버를 사용할 수 있습니다. 다른 모듈에서는 사용할 수 없습니다.
File-private:
같은 소스파일 내에서만 해당 클래스 또는 클래스 멤버를 사용할 수 있습니다.
Private:
같은 블록 내에서만 해당 클래스 또는 클래스 멤버를 사용할 수 있습니다.
다음은 각 접근수준별로 사용 가능한 범위를 나타낸 표입니다.
접근 수준 범위
Open | 모듈 외부 |
Public | 모듈 외부 |
Internal | 모듈 내부 |
File-private | 소스파일 내부 |
Private | 블록 내부 |
Swift에서는 기본적으로 접근수준을 지정하지 않으면 Internal 접근수준으로 지정됩니다.
모듈 내부에서는 해당 클래스 또는 클래스 멤버를 사용할 수 있지만, 다른 모듈에서는 사용할 수 없습니다.
이를 통해 모듈 내부의 코드를 보호하고, 모듈 간의 의존성을 관리할 수 있습니다.
접근수준은 클래스, 구조체, 열거형, 함수, 프로퍼티, 메서드 등에 적용할 수 있으며,
이를 통해 모듈 내의 코드를 더욱 안전하게 유지할 수 있습니다.
또 만나요!!