Bibi's DevLog ๐Ÿค“๐ŸŽ

๋™์ผ์„ฑ๊ณผ ๋™๋“ฑ์„ฑ Identity and Equality (Swift) ๋ณธ๋ฌธ

๐Ÿ“ฑ๐ŸŽ iOS/๐Ÿ•Š Swift

๋™์ผ์„ฑ๊ณผ ๋™๋“ฑ์„ฑ Identity and Equality (Swift)

๋น„๋น„ bibi 2022. 10. 12. 15:35

Identity ๋™์ผ์„ฑ

๋ง ๊ทธ๋Œ€๋กœ ๋™์ผํ•จ์„ ์˜๋ฏธ.

๋‘ ๊ฐ์ฒด๊ฐ€ ์™„์ „ํžˆ ๊ฐ™๋‹ค.

“๋™์ผํ•˜๋‹ค” = ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์ƒ์— ์žˆ๋Š” ๋™์ผํ•œ ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋‹ค. ์ฆ‰ ์ฃผ์†Œ๊ฐ’์ด ๊ฐ™๋‹ค.

๊ฐ’์ด ๊ฐ™๋”๋ผ๋„, ์„œ๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ์ƒ์„ฑ๋˜์—ˆ๋‹ค๋ฉด ๋™์ผํ•˜๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์—†๋‹ค.

Swift์—์„œ…

=== , !==์—ฐ์‚ฐ์ž๋ฅผ ํ™œ์šฉํ•ด ์ฐธ์กฐ๊ฐ€ ๋™์ผํ•œ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

=== ๋Š” ํด๋ž˜์Šค์— ๋Œ€ํ•ด์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค - ๊ตฌ์กฐ์ฒด๋Š” ํ•ญ์ƒ ๊ณ ์œ ํ•˜๊ฒŒ ์ฐธ์กฐ๋˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ.

 

์ฐธ๊ณ  : ===, !== ์—ฐ์‚ฐ์ž

Equality ๋™๋“ฑ์„ฑ

๋‘ ๊ฐ์ฒด๊ฐ€ ๊ฐ™์€ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

์ฐธ์กฐ (๊ฐ์ฒด์˜ ์ฃผ์†Œ) ๊ฐ€ ๋‹ค๋ฅด๋”๋ผ๋„, ๊ทธ ๋‚ด์šฉ(๊ฐ’)์ด ๊ฐ™์œผ๋ฉด ๋™๋“ฑํ•˜๋‹ค๊ณ  ํ‘œํ˜„ํ•œ๋‹ค.

๋™์ผํ•˜๋ฉด ๋™๋“ฑํ•˜์ง€๋งŒ, ๋™๋“ฑํ•˜๋‹ค๊ณ  ๋™์ผํ•œ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.

Swift์—์„œ…

==, != ์—ฐ์‚ฐ์ž๋ฅผ ํ™œ์šฉํ•ด ๊ฐ’์ด ๋™๋“ฑํ•œ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋งŒ์•ฝ struct ๋น„๊ต์— == ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด Equatable ํ”„๋กœํ† ์ฝœ์„ ์ค€์ˆ˜ํ•ด์•ผ ํ•œ๋‹ค.

 

 

 

 

์ฐธ๊ณ  : https://www.hackingwithswift.com/example-code/language/whats-the-difference-between-equalsequals-and-equalsequalsequals