Java์์๋ ๋ ๊ฐ์ฒด๊ฐ ๊ฐ์์ง ํ์ธํ๋ ๋ฐฉ๋ฒ์ด 2๊ฐ์ง ์์ (๋์ผ์ฑ & ๋๋ฑ์ฑ)
โ ๋์ผ์ฑ(Identity)
- `==` ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํด์ ๋ ๊ฐ์ฒด๊ฐ ๋์ผํ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๊ณ ์๋์ง ํ์ธ
- ์์ ํ ๊ฐ์ ๊ฐ์ฒด ์ฆ, ๋ฌผ๋ฆฌ์ ์ผ๋ก ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์์ ์์นํ๋ ๊ฐ์ฒด์ผ ๋ true ๋ฆฌํด
โ ๋๋ฑ์ฑ(Equality)
- `equals()` ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ๋ ๊ฐ์ฒด๊ฐ ๋ ผ๋ฆฌ์ ์ผ๋ก ๋๋ฑํ์ง ํ์ธ
- ๋ ๊ฐ์ฒด๊ฐ ๋ ผ๋ฆฌ์ ์ผ๋ก ๋์ผํ ๋ true ๋ฆฌํด
- ๋๋ฑ์ฑ ํ๋จ ๊ธฐ์ค์ ํด๋์ค๋ง๋ค ๋ชจ๋ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์, equals() ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ฉํ์ฌ ํ๋จ
๐ฅ equals() ๋ฉ์๋
- Object ํด๋์ค์์ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณต๋๋ ๋ฉ์๋
public boolean equals(Object obj) {
return (this == obj);
}
- Object ํด๋์ค์์ ์ค์ ๊ตฌํ์ `==`์ผ๋ก ๋๋ฑ์ฑ์ ๋น๊ตํ๋๋ก ๋์ด ์์
- equals() ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ฉํ์ง ์์ผ๋ฉด, ๋ ๊ฐ์ฒด์ ์ฐธ์กฐ๊ฐ์ด ๊ฐ์์ง ๋น๊ต๋ฆฌํดํจ
๐ฅ ์์ ์ ์ ๋ฆฌํด๋จ๋ ๊ด๋ จ ๊ธ
https://catromi.tistory.com/288
[JAVA] equals, hashCode ์ค๋ฒ๋ผ์ด๋ฉ
โ equals ๋ฉ์๋ - java.lang.Object ํด๋์ค์ ์ ์๋์ด ์๋ค - ๋ ๊ฐ์ฒด์ ๊ฐ๊ณ ๋ค๋ฆ์ ํ๋จํ๋ค. - ๋น๊ต๋ ๋ ๊ฐ์ฒด์ ์ฃผ์๊ฐ์ผ๋ก ํ๋ฏ๋ก, ์๋ก ๋ค๋ฅธ ๋ ๊ฐ์ฒด๋ฅผ ๋น๊ตํ๋ฉด ๋ ๊ฐ์ฒด์ ์ฐธ์กฐ๋ณ์ ๊ฐ์ด ๊ฐ๋
catromi.tistory.com
โ Reference
'๊ฐ์ธ ๊ณต๋ถ > Java, Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] @ParameterizedTest ์จ๋ณด๊ธฐ (0) | 2024.07.20 |
---|---|
[Java] String ํด๋์ค (0) | 2024.07.02 |
[Java] Reflection (0) | 2023.11.17 |
[Java] equals(), hashCode() (0) | 2023.10.25 |
[Java] BlockingQueue (0) | 2023.10.18 |