๐Ÿค” ์–•์€ ๋ณต์‚ฌ์™€ ๊นŠ์€ ๋ณต์‚ฌ

๊น€์„ฑ๊ธธยท2023๋…„ 4์›” 6์ผ
0

๊ธฐ์ˆ  ๋ฉด์ ‘ ์ค€๋น„

๋ชฉ๋ก ๋ณด๊ธฐ
4/7

์ฝ”ํ”„๋ง์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ data ํด๋ž˜์Šค์˜ copy()๋ผ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์•˜๋Š”๋ฐ, ๋ญ”์ง€ ์ •ํ™•ํžˆ ์•Œ๊ณ  ์“ฐ๋ฉด ์ข‹๊ฒ ์–ด์„œ ๋ธ”๋กœ๊ทธ๋ฅผ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

์–•์€ ๋ณต์‚ฌ

์–•์€ ๋ณต์‚ฌ๋Š” ๊ฐ์ฒด ์ธ์Šคํ„ด์Šค์˜ ์ฃผ์†Œ๊ฐ’์„ ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ ์›๋ณต ๊ฐ์ฒด๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด ๋ณต์‚ฌํ•œ ๊ฐ์ฒด๋„ ์ˆ˜์ •์ด ๋œ๋‹ค. ๋™์ผ์„ฑ๊ณผ ๋™๋“ฑ์„ฑ์ด ๋ณด์žฅ๋œ๋‹ค.

๋™์ผ์„ฑ: ๋‘ ๊ฐ์ฒด๊ฐ€ ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๊ฐ€ ๊ฐ™๋‹ค. ex) ==
๋™๋“ฑ์„ฑ: ๋‘ ๊ฐ์ฒด์˜ ๋‚ด์šฉ์ด ๊ฐ™๋‹ค. ex) equals

val num1 = 1
val num2 = num1

printlin(num1 == num2) // true

๊นŠ์€ ๋ณต์‚ฌ

๊นŠ์€ ๋ณต์‚ฌ๋Š” ์‹ค์ œ ๊ฐ’์„ ์ƒˆ๋กœ์šด ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์›๋ณธ ๊ฐ์ฒด๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด ๋ณต์‚ฌํ•œ ๊ฐ์ฒด๊ฐ€ ์ˆ˜์ •์ด ๋˜์ง€ ์•Š๋Š”๋‹ค.

์ฝ”ํ‹€๋ฆฐ์˜ copy() ๋ฉ”์„œ๋“œ๋Š” ๊นŠ์€ ๋ณต์‚ฌ๋ผ๊ณ  ํ•œ๋‹ค.

val person1 = Person(name = "๊น€์„ฑ๊ธธ", age = 19)
val person2 = person1.copy()

println(person1 == person2) // false

0๊ฐœ์˜ ๋Œ“๊ธ€