notes
IOS - Swift 접근 제어자(Access Control)
Swift 접근 제어자 private·fileprivate·internal·public·open 차이 정리.
Swift 접근 제어자 종류
1. open
- 외부 모듈에서 상속과 오버라이드 모두 허용
- 주로 라이브러리, 프레임워크에서 사용
open class OpenClass { }
2. public
- 외부 모듈에서 사용만 가능, 상속/오버라이드 불가
- 라이브러리의 API를 외부에 공개할 때 사용
public class PublicClass { }
3. internal (기본값)
- 같은 모듈(앱, 프레임워크) 내에서만 사용 가능
- 별도 명시하지 않으면 기본값
internal class InternalClass { }
class DefaultInternalClass { } // internal과 동일
4. fileprivate
- 같은 파일 내에서만 접근 가능
- 파일 단위로 캡슐화할 때 사용
fileprivate class FilePrivateClass { }
5. private
- 같은 타입(클래스, 구조체, 익스텐션) 내에서만 접근 가능
- 가장 강력한 은닉
private class PrivateClass { }
요약 표
참고:
궁금한 점 있으면 언제든 질문해 주세요!