[swift] 접근수준의 클래스 사용 방법
Swift에서는 클래스의 접근수준을 통해 모듈과 파일 간의 접근을 제어할 수 있습니다. 이 글에서는 클래스의 접근수준을 설정하고 다른 모듈에서 이를 어떻게 사용할 수 있는지에 대해 알아보겠습니다.
클래스의 접근수준 설정하기
클래스의 접근수준은 public
, internal
, fileprivate
, private
중 하나로 설정할 수 있습니다. 기본적으로 클래스의 접근수준은 internal
이며, 아래와 같이 명시적으로 설정할 수 있습니다.
public class PublicClass {
// public class implementation
}
internal class InternalClass {
// internal class implementation
}
fileprivate class FileprivateClass {
// fileprivate class implementation
}
private class PrivateClass {
// private class implementation
}
다른 모듈에서 접근하기
다른 모듈에서 클래스에 접근하려면 클래스의 접근수준을 고려해야 합니다.
public
클래스는 다른 모듈에서도 접근 가능합니다.internal
클래스는 동일한 모듈에서만 접근 가능합니다.fileprivate
클래스는 같은 소스 파일 내에서만 접근 가능합니다.private
클래스는 같은 소스 파일 내에서 정의된 같은 파일 내의 범위에서만 접근 가능합니다.
예제
아래는 SomeModule
이라는 모듈과 Main
이라는 모듈이 있을 때 클래스의 접근 예제입니다.
SomeModule 모듈
// SomeModule.swift
public class PublicClass {
// public class implementation
}
internal class InternalClass {
// internal class implementation
}
fileprivate class FileprivateClass {
// fileprivate class implementation
}
private class PrivateClass {
// private class implementation
}
Main 모듈
// Main.swift
import SomeModule
let publicClass = PublicClass() // 다른 모듈에서 접근 가능
//let internalClass = InternalClass() // 에러 - 다른 모듈에서 접근 불가
//let fileprivateClass = FileprivateClass() // 에러 - 다른 모듈에서 접근 불가
//let privateClass = PrivateClass() // 에러 - 다른 모듈에서 접근 불가
이 예제에서 Main
모듈에서 SomeModule
모듈 내의 클래스에 접근하는 방법을 보여주고 있습니다.
결론
Swift의 클래스 접근수준을 설정하여 모듈 간에 클래스에 접근을 제어할 수 있습니다. 클래스를 다른 모듈에서 사용해야 하는 경우 적절한 접근수준을 선택하여 사용하면 됩니다.