โจ๏ธ Language/swift
[Swift] ์ ๊ทผ ์ ์ด (Access Control)
hyebin (Helia)
2023. 2. 7. 16:06
๋ฐ์ํ
์ ๊ทผ ์ ์ด (Access Control)
- ํน์ ์ฝ๋์ ์ ๊ทผ์ ๋ค๋ฅธ ์์ค ํ์ผ์ด๋ ๋ชจ๋์์ ์ ํํ๋ ๊ฒ
๋ชจ๋๊ณผ ์์คํ์ผ
- Swift์ ์ ๊ทผ ์ ์ด๋ ๋ชจ๋๊ณผ ์์คํ์ผ์ ๊ธฐ๋ฐ์ ๋๊ณ ์์
- ๋ชจ๋์ ์ฝ๋๋ฅผ ๋ฐฐํฌํ๋ ๋จ์ผ ๋จ์๋ก, ํ๋ ์์ํฌ๋ ์ฑ์ด ์ด ๋จ์๋ก ๋ฐฐํฌ๋๊ณ ๋ค๋ฅธ ๋ชจ๋์์ import ํค์๋๋ฅผ ์ฌ์ฉํด ํฌํจ๋ ์ ์์
- ์์คํ์ผ์ ๋ชจ๋ ์์ ์๋ ์์คํ์ผ์ ์๋ฏธ
์ ๊ทผ ๋ ๋ฒจ
- Swift์์๋ 5๊ฐ์ ์ ๊ทผ ๋ ๋ฒจ์ ์ ๊ณต
Open | ์ ์ธํ ๋ชจ๋์ด ์๋ ๋ค๋ฅธ ๋ชจ๋์์ ์ฌ์ฉ ๊ฐ๋ฅ |
Public | ์ ์ธํ ๋ชจ๋์ด ์๋ ๋ค๋ฅธ ๋ชจ๋์์ ์ ๊ทผ์ด ๊ฐ๋ฅ ๋ค๋ฅธ ๋ชจ๋์์ ์ค๋ฒ๋ผ์ด๋์ ์๋ธํด๋์ฑ์ด ๋ถ๊ฐ๋ฅ |
Internal | Internal ๊ธฐ๋ณธ ์ ๊ทผ ๋ ๋ฒจ |
File-Private | ํน์ ์ํฐํฐ๊ฐ ์ ์ธํ ํ์ผ ์์์๋ง ์ฌ์ฉ ๊ฐ๋ฅ |
Private | Private ํน์ ์ํฐํฐ๊ฐ ์ ์ธ๋ ๊ดํธ({}) ์์์๋ง ์ฌ์ฉ ๊ฐ๋ฅ |
public class SomePublicClass { }
internal class SomeInternalClass { }
private class SomePrivateClass { }
public var somePublicVariable = 0
internal let someInternalConstant = 0
private func somePrivateFunction() { }
๋ฐ์ํ