public struct SomeData
{
int iA;
int iB;
}
class MyClass
{
private SomeData m_Data;
}
์ด๋ฐ ํด๋์ค๊ฐ ์๋ค๊ณ ํ๊ณ MyClass ๊ฐ์ฒด๋ฅผ ํ๋์ฉ ์์ฑํ ๋ ๋ฉค๋ฒ๋ณ์๋ก ๊ฐ์ง๊ณ ์๋ SomeData๋ฟ๋ง ์๋๋ผ ์์ ์ ์ํ SomeData ๊ตฌ์กฐ์ฒด๋ ๊ฐ์ฒด ์์ฑ๋ ๋๋ง๋ค ๋๊ฐ์ด ๋ฉ๋ชจ๋ฆฌ ์ก์๋จน์?
์ฆ ๊ฐ์ฒด์์ฑ -> private somedata m_Data 8๋ฐ์ดํธ + ์ ์ํ ๊ตฌ์กฐ์ฒด SomeData 8๋ฐ์ดํธ ์ด๋ ๊ฒ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์กํ๋์ง ๊ถ๊ธํจ
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
ใ ใ ๊ทธ๋๊น ์คํฌ๋ฆฝํธ ํ๋์ ์ ๊ฒ ๋ค ์ฐ์ฌ์๋๋ฐ new๋ก ์ ์คํฌ๋ฆฝํธ ์ฐ๋ ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋๋ง๋ค MyClass ๋ถ๋ถ๋ง ๋ฉ๋ชจ๋ฆฌ๊ฐ ์กํ๋์ง ์๋๋ฉด ์์ ๊ตฌ์กฐ์ฒด๊น์ง ๊ฐ์ด ์กํ๋์ง ๊ถ๊ธํจ
ใณใณ
์ ์๋๊ฒ ์๋๋ฐ ์ ๋งจ๋ ๋๊ธ ๋ฌ์? C#์์ ๊ตฌ์กฐ์ฒด๋ ํน์ํ ๊ฒฝ์ฐ๊ฐ ์๋๋ฉด ์คํ์ ํ ๋น๋จ. ๊ทธ ๊ฒฝ์ฐ new๋ ๋์ ์ฐ์ฐ์๋ ๊ฐ์ ๊ธฐ๋ฅ์ด์ง ๊ทธ ์์ ์์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์กํ๋๊ฒ ์๋. ์ด๋ฏธ ์กํ ์์
"new SomeData(); ์์ ์กํ๋ค๊ณ " ๋ผ๊ณ ์ด ๋๊ธ๋ง ์ ์ง์ ๋ค ใ ใ ๋๋ํ๋ฏ~
https://indi.xkona.tax/view/124045
ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ใ
์ ๊ธ์ ์ ์ด๋จ๋๋ฐ struct์ ํฌ๊ธฐ๋งํผ ๊ฐ์ด ์กํ
ใณใณ
์ฝ๋ ์์ฒด๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ ์ค์ ์ฝ๋ ์์ญ์ ํฌํจ๋จ. ๊ทธ๋์ ์์ฑํ ๋๊ฐ ์๋๋ผ ํ๋ก๊ทธ๋จ์ ์คํ์ํด๊ณผ ๋์์ ์ด๋ฏธ ๋ค๊ฐ ์์ฑํด์ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญ๋ ์ฝ๋๋ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ ์์. ๊ทธ๋์ ์์ฑํ ๋๋ง๋ค ์ถ๊ฐ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐจ์งํ์ง์์
๊ทธ๊ฑด ๋ฉ์๋ ๋ด์์ struct ๋ค๋ฃฐ ๋ ์ด์ผ๊ธฐ๊ณ ์ด๊ฑด struct๋ฅผ ๋ด์ class์ ์ธ์คํด์ค ์์ฑํ ๋ ์ด์ผ๊ธฐ์
๋ญ๊ฐ ๋ด๊ฐ ์ง๋ฌธ์ ์๋ชป ์ดํดํ๊ฑด์ง ๋ชจ๋ฅด๊ฒ ๋๋ฐ ๋จ์ํ ํด๋์ค ์์ฑ์์ ๊ตฌ์กฐ์ฒด ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๊ฐ ํฌํจ๋๋๋ ์๊ธฐ๋ฉด ๋ง์