.equals()์ == ๋ชจ๋ ๋น๊ต ์ฐ์ฐ์์ด๋ฉฐ
๋ ๋ค ๋ชจ๋ ์์ชฝ์ ์๋ ๋ด์ฉ์ ๋น๊ตํ ๊ฐ์ boolean type์ผ๋ก ๋ฐํํ๋ค.
๊ทธ๋ฐ๋ฐ java์์ String์ฒ๋ผ Class์ ๊ฐ์ ๋น๊ตํ ๋์๋ ๋ณดํต equals() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋๋ฐ...
equals์ ==๋ ๊ตฌ์กฐ์ ์ผ๋ก ์ด๋ค ์ฐจ์ด์ ์ ๊ฐ๋์ง ์์๋ณด๋๋ก ํ์.
1. ํํ์ ์ฐจ์ด
.equals() ๋ ๋ฉ์๋ ์ด๋ฉฐ
== ๋ ๋น๊ต๋ฅผ ์ํ ์ฐ์ฐ์ ์ด๋ค.
2. ์ฃผ์ ๊ฐ ๋น๊ต์ ์ค์ ๊ฐ(๋ด์ฉ) ๋น๊ต
.equals() ๋ฉ์๋๋ ๋น๊ตํ๊ณ ์ ํ๋ ๋์์ ๋ด์ฉ ์์ฒด๋ฅผ ๋น๊ตํ์ง๋ง,
== ์ฐ์ฐ์๋ ๋น๊ตํ๊ณ ์ ํ๋ ๋์์ ์ฃผ์ ๊ฐ์ ๋น๊ตํ๋ค.
int, float, double, byte ๋ฑ์ primitive type ์ผ๋ก Call By Value(CBV) ์ ํด๋น.
Class, Object ๋ฑ์ Call By Reference(CBR) ์ ํด๋น. String์ Class์ ํด๋น.
* Call By Value(CBV) : ๋์์ ์ฃผ์ ๊ฐ์ ๊ฐ์ง์ง ์์ผ๋ฉฐ, ๊ฐ์ ํ ๋น ๋ฐ๋ ํํ
* Call By Reference(CBR) : ๋์์ ์ ์ธํ ๋ ์ฃผ์ ๊ฐ์ด ๋ถ์ฌ๋์ด, ๊ฐ์ฒด๋ฅผ ๋ถ๋ฌ์ฌ ๋ ์ฃผ์ ๊ฐ์ผ๋ก ์ฐธ์กฐ๊ฐ ๋๋ ํํ
๊ฒฐ๋ก
String์ == ๋ก ๋น๊ตํ๊ฒ ๋๋ฉด ์ฃผ์๊ฐ ๋น๊ต๋ฅผ ํ๊ธฐ ๋๋ฌธ์ ์ ๊ฐ์ด ๊ฐ๋ค๊ณ ํ๋๋ผ๋ false๊ฐ ๋จ์ด์ง๊ฒ ๋๋ค.
String์ .equals() ๋ฉ์๋๋ฅผ ์ด์ฉํ์ฌ ๋น๊ตํ๋๋ก ํ์.