-
[Swift] ์ ๊ทผ ์ ์ดiOS/Swift 2022. 8. 5. 14:10
๐ก ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ
๋ฐ์ดํฐ๋ฅผ ์ถ์ํ์์ผ ์ํ์ ๋์์ ๊ฐ์ง๋ ํ๋์ ๊ฐ์ฒด๋ก ๋ฌถ์ด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ๋ฒ์ด๋ค.
* ์ถ์ํ: ๊ณตํต์ ์ธ ์์ฑ์ด๋ ๊ธฐ๋ฅ์ ๋ฌถ์ด ์ด๋ฆ์ ๋ถ์ด๋ ๊ฒ (ํด๋์ค๋ฅผ ์ ์ํ๋ ์ผ)
์ ์ฐจ์ ํ๋ก๊ทธ๋๋ฐ์ ์๊ณ ๋ฆฌ์ฆ์ ์ค์์ ํ์ง๋ง, ๊ฐ์ฒด ์งํฅ์ ํ๋ก๊ทธ๋๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ค์์ํ๋ค. ๋ฐ๋ผ์ ๋ฌธ์ ์์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋จผ์ ์ค๊ณํ๋๋ฐ, ๋ฐ์ดํฐ๋ฅผ ๋ํ๋ผ ๋ ์ฌ์ฉํ๋ ๋๊ตฌ๊ฐ ํด๋์ค์ด๋ค.
ํด๋์ค์๋ ๋ฐ์ดํฐ์ ํจ์(์๊ณ ๋ฆฌ์ฆ)๊ฐ ํฌํจ๋๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ์ ์๊ณ ๋ฆฌ์ฆ์ด ๋ถ๋ฆฌ๋์ด ์์ง ์๋ค๋ ์ ์ด ํฐ ํน์ง์ด๋ค.
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์ฅ์ :
- ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์ ์ฉ์ฑ
- ์ ์ง ๋ฐ ๋ณด์์ ํจ์จ์ฑ
์บก์ํ
๋ฐ์ดํฐ์ ์๊ณ ๋ฆฌ์ฆ์ ํ๋์ ๋จ์(ํด๋์ค)๋ก ๋ฌถ๋ ๊ฒ์ผ๋ก,
์บก์ํ๋ฅผ ์ดํด ๋ฐ์ดํฐ์ ๋ํ ๋ถํ์ํ ์ ๊ทผ์ ์ฐจ๋จํด์ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ ์ ์๋ค. (=์ ๋ณด ์๋)
Swift์์์ ์ ๊ทผ ์ ์ด
์ ๊ทผ์ ์ด๋ ์ ๋ณด ์๋์ ๊ตฌํํ๊ธฐ ์ํ ํต์ฌ ๊ธฐ๋ฅ์ผ๋ก, ์ฝ๋๋ผ๋ฆฌ ์ํธ์์ฉ์ ํ ๋ ํ์ผ ๊ฐ, ๋๋ ๋ชจ๋๊ฐ์ ์ ๊ทผ์ ํต์ ํ ์ ์๋ ๊ธฐ๋ฅ์ด๋ค.
๋ชจ๋ ์์คํ์ผ ๋ฐฐํฌํ ์ฝ๋์ ๋ฌถ์ ๋จ์ ํ๋์ ์ค์ํํธ ์์ค ์ฝ๋ ํ์ผ ํ๋ ์์ํฌ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ ํ๋ฆฌ์ผ์ด์
์ ๊ทผ ์์ค ํค์๋๋ฅผ ํตํด ์ ๊ทผ ์ ์ด ๊ตฌํ
- open (ํด๋์ค์์๋ง ์ฌ์ฉ)
- public
- internal (default)
- fileprivate
- private
* private ์ ๊ทผ ์์ค์ ๊ฒฝ์ฐ ์์ ์ ํ์ฅํ๋ ์ต์คํ ์ ์ฝ๋๊ฐ ๊ฐ์ ํ์ผ์ ์กด์ฌํ๋ ๊ฒฝ์ฐ ์์์ ์ ๊ทผํ ์ ์๋ค
์ฝ๊ธฐ ์ ์ฉ ๊ตฌํ
์ค์ ์๋ง ๋ ๋ฎ์ ์ ๊ทผ์์ค์ ๊ฐ๋๋ก ์ ํํ ์ ์๋ค.
์ ๊ทผ์์ค(set)
import Foundation //์ ๊ทผ์์ค(set)์ผ๋ก ์ค์ ์์ ์ ๊ทผ ์์ค๋ง ๋ ๋ฎ๋๋ก ์ง์ ํด์ค ์ ์๋ค public struct SomeType { public private(set) var SetPrivate: Int = 120 } var SomeInstance: SomeType = SomeType() print(SomeInstance.SetPrivate)
'iOS > Swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift] ์ต์ ๋ ์ฒด์ด๋(Optional Chaining) (0) 2022.08.11 [Swift] ํด๋ก์ (0) 2022.08.09 [Swift] ๋๋ค ์ซ์ ๋ง๋๋ ๋ฐฉ๋ฒ(Randomisation) (0) 2022.08.04 [Swift] ์ธ์คํด์ค(instance) (0) 2022.08.03 [Swift] ํ๋กํผํฐ(property) (0) 2022.08.02