티스토리 뷰
728x90
다른소스 파일 및 모듈의 코드에서, 코드의 일부에 대한 접근을 제한 하는걸 말합니다.
객체지향에서 중요한 개념인 *은닉화를 구현하기 위해 쓰입니다.
은닉화
객체 외부에서 객체 내부의 접근을 제한해 , 데이터 수정을 방지
모듈과 소스파일 (Modules and Source Files)
모듈
코드를 배포하는 단일 단위
하나의 프레임워크
즉, import 해오는것
예를들어
import Foundation
import Alamofire
이런게 모듈입니다.
소스파일
모듈안에 있는 소스파일을 의미합니다.
각 소스파일에 여러 특정 타입을 선언해 사용할 수 있습니다.
접근레벨 (Access Levels)
5개의 접근레벨을 제공하며 아래와 같습니다.
open & public
다른 모듈에서도 사용이 가능합니다.
둘의 차이점은 Override와 Subclassing의 가능 여부 입니다.
Open | Public | |
Override, Subclassing |
O | X |
internal
기본 접근레벨로 아무 접근레벨을 선언하지 않으면 Internal로 간주됩니다.
해당 모듈 전체에서 사용가능 해집니다.
아래 두 메서드의 접근레벨은 같습니다.
internal func test() {
// code..
}
func test2() {
// code..
}
fileprivate
소스 파일 (ex. 파일이름.swift) 내에서만 사용이 가능합니다.
예를들어
같은 파일 안에 서로 다른 클래스가 있으며 fileprivate으로 되어있다면 둘은 접근 가능 합니다.
private
특정 엔티티가 선언된 괄호({}) 내에서만 사용 가능 합니다.
Swift4 부터는 같은 소스파일 안에서 extension을 사용하면 접근이 가능합니다. (Swift3에서는 불가능!)
private class PrivateClass {
private var name = "Peppo"
}
// extension 으로 접근하면 가능.
extension PrivateClass {
func someMethod() {
print(name)
}
}
728x90
'iOS' 카테고리의 다른 글
[Swift] fatal Error (4) | 2022.09.25 |
---|---|
[Swift] 고급연산자 (Advanced Operators) - 비트연산자 (0) | 2022.09.22 |
[iOS] Scroll top (스크롤바 최상단 이동) (0) | 2022.09.14 |
[Swift] 안전하게 배열 조회 (feat: indices) (0) | 2022.09.05 |
[Swift] compactMap, flatMap (0) | 2022.09.01 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- Combine: Asynchronous Programming with Swift
- swift property
- Swift Error Handling
- Class
- RTCCameraVideoCapturer
- Swift
- 2023년 회고
- 원티드 프리온보딩
- Swift init
- Swift RIBs
- Swift Leetcode
- ios
- Swift joined()
- CS 네트워크
- swift reduce
- Swift 프로퍼티
- iOS error
- Swift final
- Swift 내림차순
- removeLast()
- Swift joined
- swift (programmers)
- Swift 프로그래머스
- RIBs tutorial
- swift programmers
- Swift ModernRIBs
- swift protocol
- Swift 알고리즘
- swift 고차함수
- Swift inout
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함