์ถ”๊ฐ€ ์ž๋ฃŒ |  ๋ ˆ๋ฒจ 1 - 1

"์•ˆ๋…•ํ•˜์„ธ์š”, ์•„๋ฏธ๊ณ ! ๋ฐฉ๋ฌธํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์„ฑ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

"์•ˆ๋…•ํ•˜์„ธ์š”, ๋ˆ„๋“ค์Šค ๊ต์ˆ˜๋‹˜! ์ œ๊ฐ€ ์•„์ง ์™„์ „ํžˆ ์ดํ•ดํ•˜์ง€ ๋ชปํ•œ ๋ช‡ ๊ฐ€์ง€ ์ฃผ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค... ๋ฐฐ์›€์ด ์ ์  ์žฌ๋ฏธ์žˆ์œผ๋ฉด์„œ๋„ ์–ด๋ ค์›Œ์ง€๊ฒ ์ฃ ?"

"๋„ค, ๊ทธ๋Ÿด ๊ฒ๋‹ˆ๋‹ค, ์นœ๊ตฌ. ๋‹น์‹ ์˜ ๋ฐฉ๋ฌธ์„ ์œ„ํ•ด ๋ช‡ ๊ฐ€์ง€ ์ค€๋น„ํ–ˆ์Šต๋‹ˆ๋‹ค: ์ž๋ฆฌ์— ์•‰์•„ ๋ฐฐ์šฐ์„ธ์š”."

๋ฎคํ…์Šค, ๋ชจ๋‹ˆํ„ฐ ๋ฐ ์„ธ๋งˆํฌ์–ด์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๊ณผ์ •์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ "๋ฎคํ…์Šค" ๋ฐ "๋ชจ๋‹ˆํ„ฐ"์˜ ๊ฐœ๋…์„ ์ ‘ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋“ค์€ ๊ด€๋ จ๋œ ๊ฐœ๋…์ด๋ฏ€๋กœ ํžŒํŠธ๊ฐ€ ์—†์œผ๋ฉด ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ์ง€ ๊ธฐ์–ตํ•˜๊ธฐ๊ฐ€ ์‰ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋‹ค๋ฅธ ์›น์‚ฌ์ดํŠธ์—์„œ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ์— ๋Œ€ํ•œ ๊ฐ•์˜๋ฅผ ์ฝ๊ณ  ๋น„๋””์˜ค๋ฅผ ๋ณผ ๋•Œ "์„ธ๋งˆํฌ์–ด"๋ผ๋Š” ๋˜ ๋‹ค๋ฅธ ์œ ์‚ฌํ•œ ๊ฐœ๋…์„ ๋ณด๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์ˆ˜์—…์€ ๋ชจ๋“  ๊ฒƒ์— ์งˆ์„œ๋ฅผ ๋ถ€์—ฌํ•˜๊ณ  ๊ทธ๊ฒƒ๋“ค์ด ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ์ง€ ์ดํ•ดํ•˜๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฐ˜์‚ฌ์˜ ์˜ˆ

์ด ๋‹จ์›์—์„œ๋Š” Java ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ Java Reflection API์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์–ธ์–ด์˜ ๊ฐ•๋ ฅํ•œ ์–ธ์–ด ์ค‘ ํ•˜๋‚˜์ด๋ฉฐ ์ˆ™๋ จ๋œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์—๊ฒŒ ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค. ๋ฆฌํ”Œ๋ ‰์…˜์ด ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด๊ณ  ๋ช‡ ๊ฐ€์ง€ ์‹ค์šฉ์ ์ธ ์˜ˆ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

equals() ๋ฐ hashCode()

์šฐ๋ฆฌ๋Š” CodeGym ๊ณผ์ •์˜ ์ดˆ๊ธฐ ์ˆ˜์—…์—์„œ ์‹œ์ž‘ํ•˜์—ฌ equals() ๋ฐ hashCode() ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๋” ๋ณต์žกํ•œ ์˜ˆ๋ฅผ ํ†ตํ•ด ๋” ์ž์„ธํžˆ ์กฐ์‚ฌ ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์‹œ ์‚ดํŽด๋ณผ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค . ์ €๋ฅผ ๋ฏฟ์œผ์„ธ์š”, ์šฐ๋ฆฌ๋Š” ์ด์•ผ๊ธฐ ํ•  ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค :)