์๋ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌํ๋ฉด ์ฐธ์กฐ ํ๋ฆฌ๋๊ฑฐ ์๋์๋๊ณ ...
SO์ ์๋ ํด๋์ค ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌํ๋๊น ์ฐธ์กฐ ๊ทธ๋๋ก ๊ฐ๊ณ ๊ฐ์ SO๋ฅผ ์์ ํด๋ฒ๋ฆฌ๋ค;;;
์ง์ง ๋๋นด๋ค... ใ ใ ใ ใ ใ
์ฐธ์กฐ ์ง์ง ์ซ์ด ์ค๋ ๋ ๋๋ฒ์ด๋ ์ฃฝ์์ด
๋ ์ด์ ๋ถํฐ ๊ตฌ์กฐ์ฒด๋ค ์ญ์๊ธฐ์ผ
๊ตฌ์กฐ์ฒด๋ ๋ Equal ์จ์ ๋น๊ตํด์ผํ๋ค๋ค ์ง์ง ๋ญ ์ด๋ฆฌ ๊ท์ฐฎ์๊ฒ ๋ง๋..
C#์์ ์ฐธ์กฐ๋ณด๋ค ๊ตฌ์กฐ์ฒด๊ฐ ๋ ์ ๋ํ์๋ผ์;;
ํ ์ํ๊ณค ์นํ๊ฒ ์ง๋ด์ง ๋ง์์ผ๊ฒ ๋ค ๊ทธ๋ผ
์นํ๊ฒ ์ง๋ด๊ธด ํด์ผ์ง ์๋ง ์ฐ๋ฉด ๊ฐ๋น์ง & new ํ ํ ๋น ์ค๋ฒํค๋ ์ค์ด๋๋ฐ ๋์์ด ๋๊ธด ํ๋๊น ๊ทผ๋ฐ ๊ตฌ์กฐ์ฒด๋ฅผ ๊ฐ๋ค๊ฐ ๊ฐ์ ๋ง ์์ ํด์ ์จ์ผ๋๋ ์ํฉ์ด๋ฉด ๋๊ฐ๋ฆฌ ์ํ์ง
์ด๊ฐ์ง์ด๋ ํํด๋ฅผ ๋๋ค ์์ผ๋ฒ๋ฆฌ๋ค
๊ทธ๋ฆฌ๊ณ ๊ตฌ์กฐ์ฒด๋ ๋ฌด์กฐ๊ฑด Equals ๋น๊ต๋ฅผ ํด์ผํ๋๊ฑด ์๋๊ณ != == ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉํ๋ฉด ๋จ ๊ทผ๋ฐ ์ด๊ฒ๋ ๋๋ฆ๋๋ก ๊ท์น์ด ์์ด์ผ์ง ์น๋ค ์ค๋ฒ๋ก๋ฉํ๋ฉด ๋๊ฐ๋ฆฌ ๊นจ์ง๋ค
๊ตฌ์กฐ์ฒด ๊ฐ ์์ ํ ๋ ๊ทธ๋ฅ ์๋ก ๋ง๋ค์ด์ ๊ฐ์์ ํ๊ณ ๋ฎ์ด์์
ํ๋ ์ธ์ด์์๋ ์ฐธ์กฐ๋ฅผ ์์ฐ๋ ์ถ์ธ์. ๋ถ์์ฉ์ ์์ธ์ด ๋๊ธฐ๋๋ฌธ์.. ๋์์ธํจํด์ด๋ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ฑ ๋ค ๋ณด๋ฉด, mutable, immutable ์ฉ์ด๋ฅผ ๋ง์ด ๋ดฃ์ ๊ฒ์. ๊ทธ๋งํผ ํ ๋น๋ ๋ณ์๊ฐ ๋์ค์ ๋ณํ๋ค๋๊ฒ์ ์ธ๊ฐ์ด ์ธ์งํด์ผํ ์ค์์ฌํญ์ด๊ณ ์ด๊ฒ ๋์ค์๋ ๊ด๋ฆฌํฌ์ธํธ ( ๋ฒ๊ทธ ํฌ์ธํธ ) ๊ฐ ๋๋ค๋ ์๊ธฐ์. ๊ทธ๋์ ๊ฐ๋ฐ์ immutable, not null ์ด 2๊ฐ์ง๋ฅผ ๊ณ ์ํ๋ ๊ฐ๋ฐ์ ํด์ผํจ. ๊ทธ๋ฐ์๋ฏธ์์ ์ค๊ฐ์ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ class์ฌ์ฉ๋ณด๋ค๋ struct ๋ฅผ ๊ถ๊ณ ํจ. ๋ฌผ๋ก ์ฑ๋ฅ์ ์ธ๋ฉด์์ Boxing, Unboxing๋ฑ์ ์์๋ค์ ์์ง๋ง, ์์ฆ๊ฐ์ด ํ๋์จ์ด๊ฐ ์ข์ ์ง๊ธ์ ์๊ธฐ์๋ ์ฌ์ํ ๊ฒ์ด๋ค ๋ผ๊ณ ๋งํ ์ ์์ง... ( ๊ทธ๋ฐ๋ฐ ๊ฒ์์ ๊ฒฝ์ฐ ๋งค ํ๋ ์๋ง๋ค ํธ์ถ๋๋ ํจ์์๋ ์ฌ์ฉํ๋ฉด ์๋๊ฒ ์ง )