접근 제어 - Access Levels

Jaby·2024년 3월 14일
0

SwiftBasic

목록 보기
10/20
post-thumbnail

접근 제한자는 코드의 특정 부분에 대한 접근 권한을 제어하는 기능이다.
이를 통해 코드를 모듈화하고 다른 사용자가 코드를 사용할 때 예상치 못한 오류를 방지하는데 도움을 준다.

  • public: 모든 코드에서 접근 가능
  • open: 같은 모듈 및 하위 모듈에서 접근 가능
  • internal: 같은 모듈에서만 접근 가능
  • fileprivate: 같은 파일에서만 접근 가능
  • private: 같은 스코프에서만 접근 가능

제한 수준

open < public < internal(Default) < fileprivate < private

예시

public class Animal { // public 클래스는 모든 코드에서 접근 가능
  open func makeSound() { // open 메서드는 같은 모듈 및 하위 모듈에서 접근 가능
    print("...")
  }
  internal var name: String // internal 속성은 같은 모듈에서만 접근 가능
  fileprivate func eat() { // fileprivate 메서드는 같은 파일에서만 접근 가능
    print("...")
  }
  private let age: Int // private 상수는 같은 스코프에서만 접근 가능
}

class Dog: Animal { // Animal 클래스를 상속받는 Dog 클래스
  override func makeSound() { // Animal 클래스의 open 메서드를 재정의
    print("Woof!")
  }
}

let dog = Dog() // Dog 클래스는 public이므로 모든 코드에서 접근 가능
dog.makeSound() // Dog 클래스의 public 메서드는 모든 코드에서 호출 가능

더 쉽게

open class SomeOpenClass {}
public class SomePublicClass {}
internal class SomeInternalClass {}
fileprivate class SomeFilePrivateClass {}
private class SomePrivateClass {}
profile
hello, world!

0개의 댓글

관련 채용 정보