[swift] 서브클래싱 시의 접근 제어 설정 방법
Swift에서는 open, public, internal, fileprivate, private 다섯 가지의 접근 수준이 있습니다.
open과public은 모듈 외부까지 접근이 가능하며, 서브클래스에서 오버라이딩할 수 있습니다.internal은 같은 모듈 내에서만 접근 가능합니다.fileprivate은 같은 파일 내에서만 접근 가능합니다.private은 해당 선언이 포함된 범위(주로 클래스나 익스텐션) 내에서만 접근 가능합니다.
예를 들어, 다음과 같이 open을 사용하여 부모 클래스의 메서드를 서브클래스에서 오버라이드할 수 있습니다.
open class Parent {
open func someMethod() {
print("Do something")
}
}
class Child: Parent {
override func someMethod() {
super.someMethod()
print("Do something else")
}
}
Apple의 공식 문서를 참고하여 더 자세한 내용을 확인할 수 있습니다: