ํ๋กํผํฐ ์ข ์ฐพ์๋ณด๋๋ฐย
์ ์ดํดํ๋ค๊ฐ ์ด ๋ถ๋ถ์ด ์ ์ดํด๊ฐ ์๋ผ์..
์ ๊ธฐ์ ์ง๊ธ private string naem, hp, attack, speed ๋ค์ด ์ ๋ถ ๋ค์ด์๋จ๊ฑฐ์ง?
ํ๋กํผํฐ ์ข ์ฐพ์๋ณด๋๋ฐย
์ ์ดํดํ๋ค๊ฐ ์ด ๋ถ๋ถ์ด ์ ์ดํด๊ฐ ์๋ผ์..
์ ๊ธฐ์ ์ง๊ธ private string naem, hp, attack, speed ๋ค์ด ์ ๋ถ ๋ค์ด์๋จ๊ฑฐ์ง?
https://stackoverflow.com/questions/5096926/what-is-the-get-set-syntax-in-c
์ฌ๊ธฐ๋ณด๋ฉด
์ ๋์์์.
๊ทผ๋ฐ ๊ฐ์ธ์ ์ผ๋ก ์ ๋ฐ ์๋ ๊ตฌํ ํ๋กํผํฐ๋ฅผ ์ฐ๋ ์ด์ ๋ฅผ ์ ๋ชจ๋ฅด๊ฒ ์. ์ ๋ฌ๋ฉด ๊ฑ public ์ด๋ ๋ญ๊ฐ ๋ค๋ฅด์ง
ํธ์์ฑ์ ์ง์ ๊ตฌํํ๊ฑฐ๋ ๊ฒฐ๊ณผ๋ ๊ฐ์ - dc App
๋ด๊ฐ ๋งํ๋๊ฑด ์ด๊ฑฐ์
https://blog.codinghorror.com/properties-vs-public-variables/
์๋ฌด๋ฐ
๊ธฐ๋ฅ ์๋ ํ๋กํผํฐ๋ฅผ ์ธ ์ด์ ๊ฐ ์๋๋ ์ด๊ฑฐ์ง. ๊ฑ ํผ๋ธ๋ฆญ์ผ๋ก ํ๋ฉด ๋ ๊ฑธ ์ ์ธ๋ฐ์์ด ์ฝ๋ ์ค์ ๋๋ฆผ
์ผ๋ฐ ๋ณ์์ ์ฐจ์ด๋ get set ์ ๊ทผ์ ํ์ ๋ค๋ฅด๊ฒ ์ค ์ ์๊ณ ํ์ํ ๊ฒฝ์ฐ ์ ๊ทผ์์์ ์ถ๊ฐ์์ ๋ฃ์ด์ฃผ๊ฑฐ๋ ๋ก๊ทธ ๋จ๊ธฐ๊ธฐ๋ ํธ๋ฆฌํจ - dc App
ํ์ฅ์ฑ์ด์ง ๋ณ์๋ก ๋ง๋ค์์ผ๋ฉด ํด๋น ๋ณ์์ ๊ฐ์ด ๋ค์ด๊ฐ ๋๋ง๋ค ํด์ผํ๋ ์์ ์ด ์๊ธฐ๋ฉด ๋ณ์๋ง๋ค ๋ค ๋ฐ๊ฟ์ค์ผ ํ๋๋ฐ ํ๋กํผํฐ๋ก ํด๋์ผ๋ฉด set ์์ ์ถ๊ฐ๋ง ํด๋ ๋๋๊น - dc App
๋ด๋ง์ ์๋ฌด ๊ธฐ๋ฅ ์๋ ํ๋กํผํฐ๋ฅผ ์ธ ํ์๊ฐ ์๋ค๋๊ฑฐ์. ํผ๋ธ๋ฆญ ๋ณ์์ ์ถ๊ฐ ์์ ์ด ์๊ฒผ์ ๋ ํ๋กํผํฐ๋ก ๋ณ๊ฒฝํ๋ฉด ๋จ. ๋ง์ฝ์ ๊ทธ๊ฒ ์๋ค๋ฉด ์ธ๋ชจ์๋ ์ฝ๋ ์๋๋ ธ์ผ๋ฉด ์ข๊ฒ ์.
๋ฐ๊พธ๋ฉด ๋๋ค๋๊ฒ ๊ฐ๋จํ์ง ์์ define ๋งคํฌ๋ก ์ค์ ํด์ ๋นํ์ฑํ ์ํจ๊ฑด refrence ์ฐธ์กฐ๋ก ์์กํ๋ ๋ฌธ์ ๋ผ๋๊ฐ ์์ ํ๋ค๋ณด๋ฉด ์๊ฐ ์ธ์ ๋ณ์๋ค์ด ์๊ธฐ๋๊น ํ์ฅ์ฑ ์๊ฒ ํด๋๋๊ฑฐ์ ๊ทธํธ์ด ๋์ค์ ์ ์ง๋ณด์ ํ ๋ ํธํ๋๊น - dc App
C++ ์ชฝ์ ๋ด๊ฐ ๊ฒฝํ์ด ์์์ ์ ๋ชจ๋ฅด๊ฒ ์. ๊ทผ๋ฐ C# ์ชฝ์์๋ define ๋งคํฌ๋ก ๋ฌธ์ ๊ฐ ์์ด์ ์ ์ด๋ C# ์์ ์๋ฌด ๊ธฐ๋ฅ์์ด ํ๋กํผํฐ ์ค์ ํด๋๋๊ฑด ๋ณ ๋ฉ๋ฆฌํธ๊ฐ ์์ด๋ณด์ด๋๋
๋ชจ๋ ๋ณ์๋ฅผ ํ๋กํผํฐ๋ก ์ฐ๋๊ฑด ์๋๋ฐ ํ๋ค๋ณด๋ฉด ์ด๋ฐ๊ฑด ํ๋กํผํฐ๋ก ์จ์ผ๊ฒ ๋ค ์ถ์ ๊ฒ๋ค์ด ์๊น ๋ณ์๋ก๋ง ์ฐ๋ค๊ฐ๋ ๋์ค์ ์์ฐ์ค๋ฝ๊ฒ ์ฐ๊ฒ ๋จ ํผ์ ํ๋ก์ ํธ ํ๊ฑฐ๋ ๋ฐ๋ก ์ ํ ์ฝ๋ฉ ๋ฐฉ์์ด ์์ผ๋ฉด ํธํ๋๋ก ํด๋ ๋ฌธ์ ์์ - dc App
์ ์ง๋ณด์ํ ๋ ์ฅ์ ์ด ํผ. ํ๋กํผํฐ๋ method์ด์ง ํ๋๊ฐ ์๋. ์๋ ์ด๋ค ํด๋์ค์์ ํ๋๋ก ๋ณด๊ดํ๊ณ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ ์ปจํ ์ด๋๋ฅผ ํตํด ์ ๊ณตํ๋ ๊ฑธ๋ก ๋ฐ๊พผ๋ค๋ฉด ํ๋๋ ์ ๊ฑฐ๋ฅผ ํด์ค์ผํจ. ์ ๊ฑฐ๋ฅผ ํ์ง ์์ผ๋ฉด ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ญ๋น๋๋๊ฑฐ๋๊น. ๊ทธ๋ฐ๋ฐ ํ๋กํผํฐ๋ ๋ฐ์ดํฐ ์ปจํ ์ด๋๋ฅผ ๊ฑฐ์ณ์ ์ ๊ณตํ๋ ํํ๋ก ๋ฐ๊ฟ์ฃผ๊ธฐ๋ง ํ๋ฉด ์ธ๋ถ์์๋ ์ฝ๋ ์์ ์์ด ๊ทธ๋๋ก ์ฌ์ฉ ๊ฐ๋ฅํจ.
๋ง์ฝ ํ๋๋ฅผ ์ ๊ฑฐํ๋ค๋ฉด ์ธ๋ถ์์ ์ฐธ์กฐํ๊ณ ์๋ ๋ชจ๋ ํด๋์ค๋ฅผ ๋ค ์์ ํด์ผํ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํจ. ํ๋กํผํฐ๋ method์ด๊ธฐ ๋๋ฌธ์ ์ ๋ขฐ์ฑ๊ณผ ํ์ฅ์ฑ์ ๋ณด์ฅํด์ฃผ๊ณ ๋ฐ๋ผ์ ๋ฐ์ดํฐ๋ฅผ ํ๋๋ก ์ ๊ณตํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๊ฐ์น๊ฐ ์๋๊ฑฐ์. ๋ก๊ทธ๋ ์ฐ์ ์ ์๊ณ .
๋ญ ๋๋ ๊ฐ์ธ์ ์ผ๋ก public ๋ณ์ ๊ทธ๋ฅ ์ธ๋ถ๋ก ๋ ธ์ถ์ํค๋๊ฑด ์์ข์ํจ. ๊ทธ๋ฐ๊ฑธ๋ก ์์ฒญ ๊ณ ์ํ์ ์ด ๋ง์์ ใ ใ ๊ทผ๋ฐ ์๋ฌด ๊ธฐ๋ฅ ์๋ ํ๋กํผํฐ ๊ฑ ์ธ๋ถ ๋ ธ์ถ์ํค๋๊ฒ๋ ๊ฐ์ธ์ ์ผ๋ก๋ ๊ทนํ์ ๊ทธ๋ด๊ฑฐ๋ฉด ์ฐจ๋ผ๋ฆฌ ํจ์๋ฅผ ๋ง๋ค์ด์ ๋ฌด์จ ๋ชฉ์ ์ผ๋ก ๋ณ๊ฒฝ์ํค๋์ง ๋ช ํํ ํ๋ผ๋๊ฒ ๋ด ์ทจํฅ
์ฒ์์ ๋ง๋ค์์ ๋๋ ์๋ฌด ๊ธฐ๋ฅ์ด ์๋ค๊ณ ํ ์ง๋ผ๋ ๊ฐ๋ฐ ๊ณผ์ ์ค์ get set ํ๋ ๊ณผ์ ์ ๋ก์ง์ด ์ถ๊ฐ๋ ์ ์์์. ๋ชฐ๋ก ๋ ๋ง๋๋ก method๋ก ์ ๊ณตํด๋ ๋์ง๋ง ๊ทธ๋ฌ๋ฉด getter์ setter ๋ฉ์๋ 2๊ฐ๋ฅผ ๋ฐ๋ก ์ ์ธํด์ผํ๋ ๋ถํธํจ์ด ์๊ณ ํ๋กํผํฐ๋ method์ด์ง๋ง ํ๋์ฒ๋ผ ์ฌ์ฉํ ์ ์๋ค๋ ์ฅ์ ๋ ์์ด์ ์ฐ๋๊ฑฐ์.
this.transform ์ this.GetTransform()์ผ๋ก ๋งค๋ฒ ์ ์ธํ๋ค๊ณ ์๊ฐํด๋ณด์ . ์ผ๋ง๋ ๋์ฐํจ.
this.transform์ ๊ฒฝ์ฐ๋ read only ๋๊น ์ข ๊ฒฝ์ฐ๊ฐ ๋ค๋ฅด์ง. ๋ด๊ฐ ๋งํ๋๊ฑด ์๋ฌด ๊ธฐ๋ฅ๋ ์๋ ์๋์์ฑ ํ๋กํผํฐ์. public int health [get; set;] ์ด๋ฐ๊ฑฐ. ์ด๋ฐ๊ฑฐ ์ ๋ง ๋ด ์ทจํฅ ์๋
๋ด๊ฐ ์ ๋ฐ ์๋ ๊ตฌํ ํ๋กํผํฐ ์ฐ๋๊ณณ์ ์คํฌ๋ฆฝํฐ๋ธ ์ค๋ธ์ ํธ๋ก ๋ฐ์ดํฐ ์ผ์์ ์ผ๋ก ๊ณต์ ํ๋ ๋ณ์๋ฅผ ์ ๋ํฐ ์ธ์คํํฐ์ ์๋ณด์ด๊ฒ ํ ๋ ๋ฟ์ธ๊ฑฐ ๊ฐ์.
์ธ์คํํฐ์์ ์จ๊ธฐ๋๊ฑด [HideInspector] - dc App
ใ ใ ๊ทธ๊ฒ๋ ์๋๋ฐ ๊ทธ๋ฅ ์ต๊ด์ ์ผ๋ก ์๋ฌด ์ด์ ์์ด ์๋๊ตฌํ ํ๋กํผํฐ ์ฐ๊ณ ์์ ํผ๋ธ๋ฆญ ๋ณ์ ๋ณด๋ค๋ ํ๋กํผํฐ๊ฐ ์ข๋ค๊ณ ์์ ์ ์ ๊ฒฝ์ง์ ์ธ PM์ด ์์ด์ ๋๋ ์ต๊ด์ด ๋๋ฏ. ๊ทผ๋ฐ ์ ์ข์์ง๋ ์์ง๋ ์๋ฌธ. ์ธ๋๋ง๋ค ์ด๊ฑฐ ์ ์ด๋ฆฌํ์ง? ํ๊ณ ์๋ฌธ์ ๊ฐ์ง
๊ทธ ์ด์ ๋ฅผ ๋ชจ๋ฅด๊ฒ ์ผ๋ฉด ์ํคํ ์ฒ ๊ณต๋ถ๋ฅผ ํ์๋๊ฒ ์ข์๋ฏ. Getter์ Setter๊ฐ ์ ๋ง๋ค์ด์ก๋์ง ๋ฐฐ๊ฒฝ๊ณผ ์ค๊ณ์ ๋ํ ์ด๋ ๋ ์ฐพ์๋ณด์๊ณ . ์ด๋ค PM์ด์ ์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง ๊ทธ๋ฐ ๊ธฐ๋ณธ๊ธฐ์์ ๊น๊นํ๋ค๋๊ฒ ์ค๋ ฅ ์์ผ์ ๋ถ์ธ๋ฏ?
๊ตฌ๊ธ ์ฝ๋ฉ ๊ฐ์ด๋ ์ ๋ ๋ ์ถ์ฒํจ. ๊ตฌ๊ธ ์ฝ๋ฉ ๊ฐ์ด๋ ์ฝ์ด๋ณด๋ฉด ๊ตฌ๊ธ์์ ์ public ๋ณ์๋ฅผ ์ฆ์คํ๋์ง ์๋ฌด ์์ธํ ์ค๋ช ํด์ค.
์๊ณ ์ซ๋ค๊ณ ๋ฐ๋ฐํ๋๊ฑด ๋ณธ์ธ ์ ๋ ์ด์ง๋ง ๋ชจ๋ฅด๊ณ ๋ฐ๋ฐํ๋๊ฑด ๊ทธ๋ฅ ๋ฌด์์.
๊ทธ๋ฆฌ๊ณ ํ๋กํผํฐ ์ด๊ธฐํ๋ ๋์์ ํ ์ ์์ c# ์ผ์ ๋ฒ์ ์ด์๋ง ๊ฐ๋ฅํ๊ธด ํ๋ฐ - dc App
Public int data { get; set; } = 100 - dc App
์.. ์ด๋ฐ ์ฝ๋ ์ ๋ง ๋ด ์ทจํฅ ์๋๋ค ใ ใ
์ธํฐํ์ด์ค๋ฅผ ์ฐ๋ฉด ์๊ฒ ๋จ
์ธํฐํ์ด์ค๋ ํ๋กํผํฐ๋ ํฌํจ ๊ฐ๋ฅํ๋ฐ, ํ๋๋ ํฌํจํ ์ ์๊ธฐ ๋๋ฌธ์ ์ธํฐํ์ด์ค๋ฅผ ์์๋ฐ๊ธฐ ์์ํ๋ฉด ์คํ ํ๋กํผํฐ๊ฐ ์ "ํธ์ ๊ธฐ๋ฅ"์ด๋ผ๊ณ ๋ถ๋ฆฌ๋์ง ์ดํดํ๊ฒ ๋ ๊ฑฐ์
์ ์ ๋๊ฐ๋ค.. ์ง๊ธ ๋ค๋์ง 8๊ฐ์์ฐจ์ธ๋ฐ ์ด๋ฐ๊ฒ๋ ๋ชจ๋ฅด๋๋ฐ ์์ธ ๊ฐ ์ ์์์ง ๋ชจ๋ฅด๊ฒ ๋ค ๋ํ๋๋๊ฑฐ ์๋๊ฐ