[swift] 접근 제어를 통한 코드 리팩토링

Swift에서는 접근 제어를 사용하여 모듈 및 소스 코드 파일 간에 접근을 제어할 수 있습니다. 이를 효과적으로 활용하여 코드를 모듈화하고 보다 관리하기 쉬운 형태로 리팩토링할 수 있습니다. 이번 글에서는 Swift에서의 접근 제어를 활용하여 코드를 리팩토링하는 방법에 대해 알아보겠습니다.

1. 접근 제어 레벨의 개요

Swift에서는 아래와 같은 네 가지의 접근 제어 레벨을 제공합니다.

2. 코드 리팩토링을 위한 활용

2.1 모듈 내부 세부 구현 감추기

// Before
internal class SomeInternalClass {
    //...
}
fileprivate enum SomeFilePrivateEnum {
    //...
}

// After
public class SomePublicClass {
    //...
}
private enum SomePrivateEnum {
    //...
}

2.2 모듈 간 인터페이스 정의

// Before
internal class InternalClass {
    //...
}

// After
public class PublicClass {
    internal var internalProperty: Int
    //...
}

2.3 코드 모듈화

// Before
func complexCalculation() {
    //...
}

// After
private func firstStepOfCalculation() {
    //...
}
private func secondStepOfCalculation() {
    //...
}
public func performComplexCalculation() {
    firstStepOfCalculation()
    secondStepOfCalculation()
}

3. 결론

Swift의 접근 제어를 적절히 활용하여 코드를 모듈화하고 각 요소들 사이의 의존성을 명확하게 정의함으로써 유지보수가 용이한 코드를 작성할 수 있습니다. 코드 리팩토링을 통해 접근 제어 레벨을 다시 검토하고 조정함으로써 코드의 확장성과 유연성을 높일 수 있습니다.

참고 자료: Swift.org - Access Control