개발자의 삽질
[Swift] private, private(set), fileprivate, public 에 대해 알아보자 본문
Swift
[Swift] private, private(set), fileprivate, public 에 대해 알아보자
uniqueimaginate 2022. 2. 21. 23:28public, private 에 대해 알아보자.
바로 예시로 간다.
public
밖에서 읽기도 쓰기도 가능하다.
struct BankAccount {
var funds = 0
}
let account = BankAccount()
account.funds = 10
print(account.funds)
// 10
private
구조체 밖에서 접근 할 수 없다.
struct BankAccount {
private var funds = 0
}
let account = BankAccount()
// 에러 발생
// account.funds = 10
// 에러 발생
// print(account.funds)
private(set)
구조체 밖에서 읽기만 가능하다
struct BankAccount {
private(set) var funds = 0
}
let account = BankAccount()
// 에러 발생
// account.funds = 10
// 정상 출력
print(account.funds)
// 0
fileprivate
같은 파일 내에서만 읽기, 쓰기 가능하다.
아래 2 개의 파일을 보자
BankAccount.swift
struct BankAccount {
fileprivate var funds = 0
}
let account = BankAccount()
account.funds = 10
print(account.funds)
// 10
ViewController.swift
class ViewController : UIViewController {
var account = BankAccount()
// 에러 발생
// 다른 파일에 있기에 접근 할 수 없다.
print(account.funds)
}
'Swift' 카테고리의 다른 글
[Swift] 2차원 배열 만들기 (0) | 2022.02.24 |
---|---|
[Swift] Swift에서는 어떻게 Optional Protocol을 만들까? (0) | 2022.02.13 |
[Swift] Attribute - @discardableResult (0) | 2022.02.09 |
[Swift] Initialization - 3편 (Failable Initializers) (0) | 2022.02.02 |
[Swift] Initialization - 2편 (Class Inheritance & Initialization) (0) | 2022.01.27 |
Comments