๊ธธ์ฐพ๊ธฐ ์คํ ์์ค ์ดํด๋ณด๊ณ ์๋๋ฐ,ย Point ํด๋์ค ๋ด์ GetHashCode๋ผ๋ ๋ฉ์๋๊ฐ overrideย ๋์ด์๊ณ x^y๊ฐ์ ๋ฐํํ๋๋ก ๋์ด์๋ค์.
์ฐพ์๋ณด๋๊น ํด๋น ํด๋์ค๋ฅผ key๋ก ์ฐ๋ ค๋ฉด ์ด ๋ฉ์๋๋ฅผ override ํด์ค์ผ ํ๋ฉฐ, ์ด ๋ ๋ ํผ๋ฐ์ค ์ฃผ์๊ฐ ๋ค๋ฅด๋๋ผ๋ key๊ฐ ๊ฐ์์ ํ์ธํ๊ธฐ ์ํด์
hashcode๊ฐ ์ฐ์ธ๋ค๊ณ ํ๋ค์.
๊ทผ๋ฐ ๋ญ๊ฐ๋ฅผ ํ์ธํ๋ ค๋ฉด ๊ฐ์ด ์ ๋ํฌํด์ผ ํ ๊ฑฐ ์๋๊ฐ์?
๊ทธ๋ฆฌ๊ณ ์์ ์ ๊ฐ ์กฐ์ฌํ ๋ด์ฉ์ ๋ง๋ ๊ฑด๊ฐ์?
ํด์๊ฐ์ด ๊ฐ์ ๊ฒฝ์ฐ ์ด๋ฅผ ํํผํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ด ์๋๋ฐ ๊ทธ๊ฑฐ์ ๊ดํ ๋ฌธ์ ๋ ์๋๊ฑฐ ๊ฐ๋ค์ฉ. ํน์ ํธ์ถํ ๋์์ด ๋ฌด์์ด๋ ํค(ํ์ฌ ์์น)๋ง ๊ฐ์ง๊ณ ํ๋จํ๋ค๋ ๊ฑฐ ์๋๊น์?
ํด์ฌ์ฝ๋๊ฐ ์๋ํ๋ ์์ญ์์๋ ์ ๋ํฌํ๊ฒ ์ง. ์ด๋ค๋์ ํด์ฌ๊ฐ์ ๋ฝ๋์ง๋ ๋ชจ๋ฅด๊ฒ ๋ค๋ง.
์ผ๋จ ์๋ณธ์ด ๊ฐ์ผ๋ฉด ํด์ฌ๊ฐ๋ ๋๊ฐ๋ค.
์๋ณธ์ด ๊ฐ์ผ๋ฉด ๋์ผํ ๊ฑด ์๊ฒ ๋๋ฐ, ์ ๊ฐ ๋ณธ ์ฝ๋์์๋ ์๋ณธ์ด ๋ฌ๋ผ๋ ๊ฐ์ ๊ฐ์ด ๋์ฌ ์๊ฐ ์์ด์์.
ํด์ ์ถฉ๋ ๊ฒ์ ใฑใฑ
int ๋ฒ์์์์ ๋์ค๋๊น ์ ๋ง ๊ฐ๋ ํ๋ ๊ฐ์ด ๋ฌ๋ผ๋ ๊ฐ์ ํด์ฌ๊ฐ ๋์ฌ์ ์์, ๊ทธ๋ฌ๋๊น ๊ฐ๋ฅํ ํ ์ ๋ํฌํ๊ฒ ๋ง๋๋๊ฑฐ์
์ ๋ ๊ฒ ๊ฐ์ ํด์ฌ๊ฐ ๋์ค๋๊ฑธ ํด์ฌ ์ถฉ๋์ด๋ผ๊ณ ํ๋๋ฐ ๊ทธ๊ฑธ ๋ฐฉ์งํ๊ธฐ ์ํด์ equals ๋ฉ์๋๋ ๊ฐ์ดํจ
์ง๊ธ ๋ฌด์จ์ธ์ด๋ก ๋ณด๋์ง๋ ๋ชจ๋ฅด๊ฒ ๋๋ฐ,์๋ฐ HashMap์ด๋ C#Dictionary ๋ ๊ทธ๋ ๊ฒ ๊ตฌํ๋์ด์์
๊ทผ๋ฐ ํด์ฌ ๊ณ์ฐ ๋ฐฉ๋ฒ์ ์์ฑ์๋ ํด๋์ค์ฉ๋์ ๋ฐ๋ผ ์ฐจ์ด๊ฐ ๋ ์ ์์
์.. ๊ทธ๋ผ ๊ธฐ๋ณธ์ ์ผ๋ก ์ค๋ณต๊ฐ์ ๋์ค๋ฉด ์ ๋๋ค๋ ๊ฑฐ์ฃ ?
์์ธํ ๋ต๋ณ ์ ๋ง ๊ฐ์ฌํฉ๋๋ค.
Key๋ก ์ฌ์ฉํ๋ฉด ์ ๋ํฌ ํ ์๋ก ์ฑ๋ฅ์ ์ ๋ฆฌํด์ง๋๊น ๊ทธ๋ฐ๊ฑฐ๊ณ , ๊ทธ๋ฅ ๋๋ต์ ์ผ๋ก ๊ตฌ๋ถ๋ง ๋๋ ์๊ด ์๋๊ฒฝ์ฐ๋ ๋ณธ๋ฌธ์ฒ๋ผ x^yํด๋ ์๊ด ์์
์ ๋ฐ๊ฑฐ Point ๊ฐ์๊ณณ์์๋ ์ค๋ณต์ ์์จ ์ ์๋๊ฒ๋ ์๋๊ณ , ํด๋์ค ์ฉ๋์ ๋ฐ๋ผ ์ค๋ณต์ด ์์ ์๋๊ฒ๋ ์์ผ๋๊น ์ ์ํด์ ์ฐ๋ฉด๋จ
x+y*WidthMax ํ๋ฉด ์ ๋ํฌ๊ฐ ๋์ฌ๋ฏใ