๊ฐœ์ฒด ๋งŒ๋“ค๊ธฐ - 1

"์•ˆ๋…•ํ•˜์„ธ์š”, ๋˜ ๋‹น์‹ ์ด ๊ฐ€์žฅ ์ข‹์•„ํ•˜๋Š” ์„ ์ƒ๋‹˜์ด์‹ญ๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ๊ทธ๋ ‡๊ฒŒ ํฐ ๋ฐœ์ „์„ ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋‚˜๋Š” ๋‹น์‹ ์—๊ฒŒ ๋ฌผ์ฒด์™€ ๊ทธ๊ฒƒ๋“ค์„ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค."

" ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋ฉด 'new'๋ผ๋Š” ํ‚ค์›Œ๋“œ์™€ ์œ ํ˜• ์ด๋ฆ„(ํด๋ž˜์Šค ์ด๋ฆ„)์„ ์ฐจ๋ก€๋กœ ์ž…๋ ฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 'Cat'์ด๋ผ๋Š” ํด๋ž˜์Šค๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค."

์•”ํ˜ธ ์„ค๋ช…
Cat cat;
cat์ด๋ผ๋Š” Cat ์ฐธ์กฐ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค. ๋ณ€์ˆ˜ cat์˜ ๊ฐ’์€ null์ž…๋‹ˆ๋‹ค.
new Cat();
๊ณ ์–‘์ด ๊ฐœ์ฒด๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
Cat cat = new Cat();
cat์ด๋ผ๋Š” Cat ์ฐธ์กฐ ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
์ƒˆ Cat ๊ฐœ์ฒด๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ƒˆ๋กœ ์ƒ์„ฑ๋œ ๊ฐœ์ฒด์— ๋Œ€ํ•œ ์ฐธ์กฐ๋ฅผ ๋ณ€์ˆ˜ cat์— ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.
Cat kitty = new Cat();
Cat smokey = new Cat();
๋‘ ๊ฐœ์˜ ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค์— ๋Œ€ํ•œ ์ฐธ์กฐ๋Š” ๋‘ ๊ฐœ์˜ ๋‹ค๋ฅธ ๋ณ€์ˆ˜์— ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค.
Cat kitty = new Cat();
Cat smokey = new Cat();

smokey = kitty;
๋‘ ๊ฐœ์˜ ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค์— ๋Œ€ํ•œ ์ฐธ์กฐ๋Š” ๋‘ ๊ฐœ์˜ ๋‹ค๋ฅธ ๋ณ€์ˆ˜์— ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ณ€์ˆ˜ smokey๋ฅผ kitty ๋ณ€์ˆ˜๊ฐ€ ์ฐธ์กฐํ•˜๋Š” ๊ฐœ์ฒด์— ๋Œ€ํ•œ ์ฐธ์กฐ์™€ ๋™์ผํ•˜๊ฒŒ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ๋‘ ๋ณ€์ˆ˜ ๋ชจ๋‘ ์ฒ˜์Œ ์ƒ์„ฑ๋œ ๊ฐœ์ฒด๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.
(๋‘ ๋ฒˆ์งธ ๊ฐœ์ฒด๋Š” ๋” ์ด์ƒ ์–ด๋””์—์„œ๋‚˜ ์ฐธ์กฐ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ด์ œ ๊ฐ€๋น„์ง€๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.)

Cat kitty = new Cat();
Cat smokey = null;

smokey = kitty;

kitty = null;
ํ•˜๋‚˜์˜ Cat ๊ฐœ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜๊ณ  ์ด์— ๋Œ€ํ•œ ์ฐธ์กฐ๊ฐ€ ์ฒซ ๋ฒˆ์งธ ๋ณ€์ˆ˜(kitty)์— ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ๋ณ€์ˆ˜(smokey)๋Š” ๋นˆ(null) ์ฐธ์กฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

๋‘ ๋ณ€์ˆ˜ ๋ชจ๋‘ ๋™์ผํ•œ ๊ฐœ์ฒด๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ ํ‚คํ‹ฐ๊ฐ€ ์•„๋‹Œ ์Šค๋ชจํ‚ค๋งŒ ๊ฐœ์ฒด๋ฅผ โ€‹โ€‹๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

"๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ณ  ๋ณ€์ˆ˜์— ์ฐธ์กฐ๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š์œผ๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”?"

"๊ฐ์ฒด๋ฅผ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•˜์ง€ ์•Š๊ณ  ๊ทธ๋ƒฅ ์ƒ์„ฑํ•˜๋ฉด Java ๋จธ์‹ ์ด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ ๋‹ค์Œ ๊ฐ€๋น„์ง€(์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฐ์ฒด)๋กœ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค. ์ž ์‹œ ํ›„ ๊ฐ์ฒด๋Š” ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘ ์ค‘์— ํ๊ธฐ๋ฉ๋‹ˆ๋‹ค. "

"๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š์€ ๋ฌผ๊ฑด์€ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ถ„ํ•˜๋‚˜์š”?"

"๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ๋ณ€์ˆ˜๋„ ๊ฐœ์ฒด๋ฅผ ์ฐธ์กฐํ•˜์ง€ ์•Š๋Š” ์ฆ‰์‹œ ์“ฐ๋ ˆ๊ธฐ๋กœ ๋ ˆ์ด๋ธ”์ด ์ง€์ •๋˜๊ณ  ๋‹ค์Œ์— ์“ฐ๋ ˆ๊ธฐ๋ฅผ ์ˆ˜์ง‘ํ•  ๋•Œ Java ์‹œ์Šคํ…œ์— ์˜ํ•ด ํŒŒ๊ดด๋ฉ๋‹ˆ๋‹ค. "

๊ฐœ์ฒด์— ๋Œ€ํ•œ ์ฐธ์กฐ๊ฐ€ ํ•˜๋‚˜ ์ด์ƒ ์žˆ๋Š” ํ•œ ํ™œ์„ฑ ์ƒํƒœ๋กœ ๊ฐ„์ฃผ๋˜๋ฉฐ ์†Œ๋ฉธ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐœ์ฒด๋ฅผ ๋” ๋นจ๋ฆฌ ํ๊ธฐํ•˜๋ ค๋ฉด ํ•ด๋‹น ๊ฐœ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๋ชจ๋“  ๋ณ€์ˆ˜์— null์„ ํ• ๋‹นํ•˜์—ฌ ํ•ด๋‹น ๊ฐœ์ฒด์— ๋Œ€ํ•œ ๋ชจ๋“  ์ฐธ์กฐ๋ฅผ ์ง€์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

"๊ทธ๋ ‡๊ตฌ๋‚˜. ์ง€๋‚œ ๋ช‡ ๋ฒˆ์˜ ์ˆ˜์—…์— ๋น„ํ•˜๋ฉด ๊ฝค ๊ฐ„๋‹จํ•ด ๋ณด์ด๋Š”๊ตฐ."

"๋””์—๊ณ ๋Š” ๋‹น์‹ ์„ ์œ„ํ•ด ๋ฐค์ƒˆ๋„๋ก ์ผ์„ ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” ๋‹น์‹ ๋งŒ์„ ์œ„ํ•ด ์ด ํŠน๋ณ„ํ•œ ๋…ธ๋ ฅ์„ ๊ธฐ์šธ์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” ์œ ๋จธ ๊ฐ๊ฐ์ด ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค."


Codegym University ๊ณผ์ •์˜ ์ผ๋ถ€๋กœ ๋ฉ˜ํ† ์™€ ํ•จ๊ป˜ํ•˜๋Š” ๊ฐ•์˜ ์Šค๋‹ˆํŽซ. ์ „์ฒด ๊ณผ์ •์— ๋“ฑ๋กํ•˜์‹ญ์‹œ์˜ค.