๋์ผ์ฑ๊ณผ ๋๋ฑ์ฑ Identity and Equality (Swift)
Identity ๋์ผ์ฑ
๋ง ๊ทธ๋๋ก ๋์ผํจ์ ์๋ฏธ.
๋ ๊ฐ์ฒด๊ฐ ์์ ํ ๊ฐ๋ค.
“๋์ผํ๋ค” = ํด๋์ค์ ์ธ์คํด์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ์์ ์๋ ๋์ผํ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๊ณ ์๋ค. ์ฆ ์ฃผ์๊ฐ์ด ๊ฐ๋ค.
๊ฐ์ด ๊ฐ๋๋ผ๋, ์๋ก ๋ ๋ฆฝ์ ์ผ๋ก ์์ฑ๋์๋ค๋ฉด ๋์ผํ๋ค๊ณ ๋ณผ ์ ์๋ค.
Swift์์…
===
, !==
์ฐ์ฐ์๋ฅผ ํ์ฉํด ์ฐธ์กฐ๊ฐ ๋์ผํ์ง ํ์ธํ ์ ์๋ค.
===
๋ ํด๋์ค์ ๋ํด์๋ง ์ฌ์ฉํ ์ ์๋ค - ๊ตฌ์กฐ์ฒด๋ ํญ์ ๊ณ ์ ํ๊ฒ ์ฐธ์กฐ๋๋๋ก ์ค๊ณ๋์๊ธฐ ๋๋ฌธ.
์ฐธ๊ณ : ===, !== ์ฐ์ฐ์
Equality ๋๋ฑ์ฑ
๋ ๊ฐ์ฒด๊ฐ ๊ฐ์ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
์ฐธ์กฐ (๊ฐ์ฒด์ ์ฃผ์) ๊ฐ ๋ค๋ฅด๋๋ผ๋, ๊ทธ ๋ด์ฉ(๊ฐ)์ด ๊ฐ์ผ๋ฉด ๋๋ฑํ๋ค๊ณ ํํํ๋ค.
๋์ผํ๋ฉด ๋๋ฑํ์ง๋ง, ๋๋ฑํ๋ค๊ณ ๋์ผํ ๊ฒ์ ์๋๋ค.
Swift์์…
==
, !=
์ฐ์ฐ์๋ฅผ ํ์ฉํด ๊ฐ์ด ๋๋ฑํ์ง ํ์ธํ ์ ์๋ค.
๋ง์ฝ struct ๋น๊ต์ ==
๋ฅผ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด Equatable
ํ๋กํ ์ฝ์ ์ค์ํด์ผ ํ๋ค.