MyClass๊ฐ MyClass_Sibling๋ณด๋ค ํฐ ๊ฐ๋ ์ธ๋ฐ ๊ทธ๋ผ ์ด๊ฒ๋ ๋์ผ ๋ง๋ ๊ฑฐ ์๋?ํท๊ฐ๋ฆฌ๋ค
class ์์ public ์ ์ถ๊ฐํด ๋ณผ๋?
๊ทธ๋๋ ๋๊ฐ์์ :(
์~ ์ด๊ฒ ์์๋ฐ์ ๋ฉค๋ฒ๋ฅผ ์ ๊ทผํ๋ ์ฝ๋๊ฐ ์๋๋ค. ์ด๊ฑด ๋ค๋ฅธ ์ธ์คํด์ค์ value ๋ณ์๋ฅผ ์ ๊ทผํ๋ ๊ฑฐ๋๊น ์๋์ง.
๊ทธ ์ ์ด ๊ถ๊ธํ ๊ฑด๋ฐ ์ด์ ๊ธ์๋ ๋ค๋ฅธ ์ธ์คํด์ค์ private value์ ์ ๊ทผ์ด ๊ฐ๋ฅํ๊ฑฐ๋ ์? ๊ทผ๋ฐ ์ด๋ ๊ฒ ํ๋ฉด ๋ ์๋๋๊น ์ด์ํ ๊ฑฐ์์
https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/classes-and-structs/access-modifiers
private
๋ฅผ ๋ณด๋ฉด ๊ฐ์ ํด๋์ค์ ์ฝ๋์์๋ ๊ฐ๋ฅํ๋ฐ ์์์ด ๋ค์ด๊ฐ๋ฉด ์ข ์ผ๊ด์ฑ์ด ์๊ธดํ์ง.
๊ทผ๋ฐ ์ ๊ธ์ [private: ๊ฐ์ class ๋๋ struct์ ์ฝ๋์์๋ง ํ์ ๋๋ ๋ฉค๋ฒ์ ์ก์ธ์คํ ์ ์์ต๋๋ค.][protected: ๊ฐ์ class ๋๋ ํด๋น class์์ ํ์๋ class์ ์ฝ๋์์๋ง ํ์ ๋๋ ๋ฉค๋ฒ์ ์ก์ธ์คํ ์ ์์ต๋๋ค.]๋ผ๊ณ ๋์ด ์๋ ๊ฑฐ ๋ณด๋ฉด ์ ๊ฒ๋ ๋์ด์ผ ํ๋ ๊ฑฐ ์๋ใฑ...
MyClass ์ protected ๋ก ํจ์๋ฅผ ๋ง๋ค์ด์ ์์ ํด๋์ค์์ ์ฌ์ฉํ๊ฒ ํ๋๊ฐ ๋๊ฐ์๋ฉด ํผ๋๋ ์ ์๋ ๋ฐฉ์์ ์์ ๋ฐฐ์ ํ๊ณ ์งค๊ฑฐ ๊ฐ์. ๊ผญ ์ ๋ ๊ฒ ์จ์ผํ ์ด์ ๊ฐ ์์์. ๊ทธ๋ฅ ํผ๋ธ๋ฆญ ํจ์๋ฅผ ์ ๊ณตํ๊ณ ๋ง์ง.
ํ์๋ ๊ฑฐ์ง ๊ฐ์ ํด๋์ค๋ ์๋๋๊น.
๋ ๋ค์ด๊ฐ๋ฉด ์๋ฏธ๊ฐ ์์ ๊ฒ ๊ฐ์ผ๋ ์ฌ๊ธฐ๊น์ง ํ ๊ป์ฌ. ๋ ๋ง๋๋ก ์ ์ด์ ๋ค๋ฅธ instance์ private ๋งด๋ฒ๋ ์ฝ์ ์ ์๋ค๊ณ ์๊ฐํ๊ณ ํ๋ก๊ทธ๋๋ฐํ๋ ๊ฒ ๊ฐ์ฅ ๊นจ๋ํ ๊ฒ ๊ฐ์์.
๊ทธ๋ด์ธํ ์ด์ ๋ฅผ ๋์๋ฉด MyClass ๋ฅผ ์ง ์ฌ๋์ ๋ด๊ฐ ์ง ์ฝ๋๋๊น private ๋ณ์์ ์ ๊ทผํด์ ์จ๋ ๋ผ์ง๋ง ์ด๊ฑธ ์์ ๋ฐ์์ด์ ์ง๋ ์ฌ๋์ ๋ด๊ฐ ์๋ ์ ์๊ธฐ ๋๋ฌธ์ ํจ๋ถ๋ก ์ ๊ทผํด์ ์ฐ์ง ๋ง๋ผ๋ ์ด์ ์ง.
์ ์ด๊ฑฐ...C++์ธ๊ฐ? ๋ด๊ฐ ์๊ธฐ๋ก๋ ํ์ ํด๋์ค์์ ๊ธฐ๋ณธ ํด๋์ค ๋ฉค๋ฒ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด base ํจ์๋ฅผ ์ฌ์ฉํด์ผํ๋ ๊ฑธ๋ก ์๊ณ ์์. base.a~ ์ด๋ฐ์.
c#์ด์์. ํ๋ฒ ํด๋ณผ๊ป์ฌ
์ํ๋ ๊ธฐ๋ณธ ํด๋์ค ๋ฉค๋ฒ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์ด๋ฐ๊ฑธ๋ก ์๊ณ ์๊ธด ํ๋ฐ
๊ธ๊ณ ์๋ ๊ธ์ ํด๋์ค ๋ด๋ถ์์ ์ ๊ทผํ๊ณ ์๋ค. ์ ์ญ ๋ณ์๋ก ์ ์ธํ๊ฑฐ๋๊น ์ ๊ฑด ๋น์ฐํ ์ ๊ทผ ๊ฐ๋ฅํ๊ฑฐ. ํ ํด๋์ค์ ์ ์ญ ๋ณ์/์ง์ญ ๋ณ์๋ ํด๋น ํด๋์ค ๋ด๋ถ์ ๋ฉ์๋ ๋ด ์ง์ญ ๋ณ์๊ฐ ์ ๊ทผ์ด ์๋๋๊ฑธ๊ฑฐ์
๊ธ๊ณ base ์๋๋ฉด ๊ฑ ์ ๋๋ง์ฒ๋ผ ํด๋์ค๋ฅผ public ์ ์ธํ์
๊ถ๊ธํ๋ ๊ฑด ์์ ๊ณผ ๊ฐ์ ํด๋์ค์ด์ง๋ง ๋ค๋ฅธ ๊ฐ์ฒด์ ๋นstatic private ๋งด๋ฒ๋ ์ฝ์ ์ ์๋ค๋ ์ ์ด๊ธด ํ๋ฐ... ์ผ๋จ ๋น์ฅ ํ๋ก์ ํธ์ ์ง์ฅ ์ค ๋ถ๋ถ์ ์๋๋ ๋์ด๊ฐ๋ ค๊ณ ์ ใ ใ ใ
๊ทผ๋ ์ด๊ฑฐ ๊ฒ์์?? C#์ธ๋ฐ ์ ๋ํฐ๋ฅผ ์ฌ์ฉํ๋๊ฑฐ ๊ฐ์๋ณด์ด์ง ์๋ค
์ ๋ํฐ์์.. ์ด์ ๊ธ ์ฐธ์กฐํด์ฃผ์ธ์ฌ
์ ๋ญํ๋๋์ด์ผ ใ ใ ใ ใ ใ ใ
protected -> ํ์ ํด๋์ค์๊ฒ ํ๋ ๊ณต๊ฐ - dc App
this.value -> ์์ ์ ํ๋ ์ฐธ์กฐ - dc App
friend.value -> ํด๋์ค ์ธ๋ถ์์ protected ๋ณ์ ์ฐธ์กฐ -> ์๋ฌ - dc App
์ ๊ทผ ์ ํ์. private = ๋ณธ์ธ๊ณผ ๋์ผํ ํด๋์ค๋ง ์ ๊ทผ ๊ฐ๋ฅ. protected = ์์๋ฐ์ ํด๋์ค๋ ์ ๊ทผ ๊ฐ๋ฅ. public ๋๊ตฌ๋ ์ ๊ทผ ๊ฐ๋ฅ.
๋ค์๋ฐ ๊ธ์ด์ด๊ฐ ๊ธฐ๋ณธ๋ ๋ชจ๋ฅด๋ ์ค์๋ค ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ