Open vs Public access control - kirseia/study GitHub Wiki
open vs public
- ์ฌ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ง๋ค์ง ์์ผ๋ฉด ์ ๊ฒฝ์ฐ์ง ์์๋ ์ ๊ทผ ์ ์ด ํค์๋์ธ๋ฐ ์ต๊ทผ ํ์ฌ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ง๋๋๋ผ ๋ค์ ํ๋ฒ ํ์ธ
๊ณตํต์
- ๋๋ค ํ๋ ์์ํฌ๋ฅผ ๋ฐฐํฌ ํ ๋ ์ฌ์ฉํ๋ ์ชฝ์์ ์ ๊ทผ ๊ฐ๋ฅํ๊ฒ ํด์ฃผ๋ ์ ๊ทผ์์ด๋ค.
์ฐจ์ด์
//module 1
public func A(){}
open func B(){}
//module 2
override func A(){} // error
override func B(){} // success
๋ณ ๋ค๋ฅธ ์ค๋ช ํ์์์ด ์ ์์ ํ๋๋ฉด ์ค๋ช ์ด ๋ ๋ฏ, public ์ override๊ฐ ๋ถ๊ฐํ๊ณ , open ์ override ๊ฐ ๊ฐ๋ฅํ๋ค.