카테고리 없음

[Swift] 접근 수준(Access Control)과 접근 수준 범위

magpiebros 2023. 4. 9. 13:03
반응형

안녕하세요. 맥파이입니다.

최근 열심히 글을 올리고 있습니다.

이제 접근수준에 대해서 알아볼께요.

 

접근 수준(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 접근수준으로 지정됩니다.

모듈 내부에서는 해당 클래스 또는 클래스 멤버를 사용할 수 있지만, 다른 모듈에서는 사용할 수 없습니다.

이를 통해 모듈 내부의 코드를 보호하고, 모듈 간의 의존성을 관리할 수 있습니다.

접근수준은 클래스, 구조체, 열거형, 함수, 프로퍼티, 메서드 등에 적용할 수 있으며, 

이를 통해 모듈 내의 코드를 더욱 안전하게 유지할 수 있습니다.

 

또 만나요!!

 

반응형