[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
}

다른 모듈에서 접근하기

다른 모듈에서 클래스에 접근하려면 클래스의 접근수준을 고려해야 합니다.

예제

아래는 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의 클래스 접근수준을 설정하여 모듈 간에 클래스에 접근을 제어할 수 있습니다. 클래스를 다른 모듈에서 사용해야 하는 경우 적절한 접근수준을 선택하여 사용하면 됩니다.