๊ธฐ์ˆ ๋ฉด์ ‘ 1

equals() ์™€ hashCode() ๋™์ผ์„ฑ๊ณผ ๋™๋“ฑ์„ฑ, ์™„์ „๋ฒ”์ฃ„ํ•˜๊ธฐ

์ž๋ฐ”์˜ ๋ชจ๋“  ํด๋ž˜์Šค๋Š” Object ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Objectํด๋ž˜์Šค์—๋Š” equals() ์™€ hashCode() ๋ผ๋Š” ๋ฉ”์†Œ๋“œ๊ฐ€ ์„ ์–ธ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฉ”์†Œ๋“œ๋“ค์€ ๊ฐ๊ฐ ์–ด๋–ค ์—ญํ• ์ผ๊นŒ์š”? ์ด ๋‘˜์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ผ๊นŒ์š”? equals()์™€ hashCode() ๋ฉ”์„œ๋“œ๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์ค‘์š”ํ•œ ๋ฉ”์„œ๋“œ๋กœ, ๊ฐ์ฒด ๊ฐ„์˜ ๋™์ผ์„ฑ๊ณผ ๋™๋“ฑ์„ฑ์„ ๋‹ค๋ฃจ๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ๋™์ผ์„ฑ์€ Identity = ๋ฉ”๋ชจ๋ฆฌ ๋‚ด ์ฃผ์†Œ๊ฐ’์ด ๊ฐ™์€์ง€ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. ๋™๋“ฑ์„ฑ์€ Equality = ๋…ผ๋ฆฌ์  ์ง€์œ„๊ฐ€ ๋™๋“ฑํ•œ์ง€ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด, ์• ํ”Œ ๏ฃฟ ์•„์ดํฐ์ด 2๋Œ€์žˆ๋‹ค. ๋‘ ํœด๋Œ€ํฐ์€ ๊ธฐ์ข…๋„ ๊ฐ™๊ณ  ๋™์ผํ•œ ์ƒ‰์ƒ ๋™์ผํ•œ ์ŠคํŽ™์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ด ๋‘ ๊ฐœ์˜ ํœด๋Œ€ํฐ์€ ๋™์ผํ•œ๊ฐ€? ๋‹ต์€ ์•„๋‹ˆ๋‹ค. ํœด๋Œ€ํฐ์€ ๊ฐ ๊ธฐ๊ธฐ๋งˆ๋‹ค ๊ณ ์œ  ์ฃผ์†Œ๊ฐ€ ์žˆ๊ณ  ์•„์ดํฐ..