๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ์ธ ๊ณต๋ถ€/Java, Python

[Java] ๋™์ผ์„ฑ, ๋™๋“ฑ์„ฑ

by syLim___ 2024. 6. 26.
728x90

 

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

 - https://www.inflearn.com/course/%EA%B9%80%EC%98%81%ED%95%9C%EC%9D%98-%EC%8B%A4%EC%A0%84-%EC%9E%90%EB%B0%94-%EC%A4%91%EA%B8%89-1/dashboard

728x90

'๊ฐœ์ธ ๊ณต๋ถ€ > 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