Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
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 31
Archives
Today
Total
관리 메뉴

개발자의 삽질

[Swift] private, private(set), fileprivate, public 에 대해 알아보자 본문

Swift

[Swift] private, private(set), fileprivate, public 에 대해 알아보자

uniqueimaginate 2022. 2. 21. 23:28

https://www.hackingwithswift.com/quick-start/beginners/how-to-limit-access-to-internal-data-using-access-control

 

How to limit access to internal data using access control - a free Swift for Complete Beginners tutorial

Was this page useful? Let us know! 1 2 3 4 5

www.hackingwithswift.com


public, 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)

}

 

Comments