[Java] ==와 equals()의 차이점

청포도봉봉이·2024년 2월 12일
1

java

목록 보기
13/20
post-thumbnail

Java에서 == 연산자와 equals() 메서드의 차이점에 대해 알아봅시다.

1. == 연산자:

==는 주로 기본 데이터 유형 (예: int, char, double 등)을 비교하는 데 사용되지만, 객체에 대해 사용될 때는 두 객체의 참조(즉, 메모리 주소)가 동일한지 확인합니다. 따라서, 두 객체가 동일한 객체를 참조하고 있다면 true를 반환하고, 그렇지 않다면 false를 반환합니다.

ex)

String str1 = new String("Hello");
String str2 = new String("Hello");
System.out.println(str1 == str2); // 이는 false를 출력합니다.

2. equals() 메서드:

equals() 메서드는 두 객체의 내용이 동일한지 비교합니다. 즉, 두 객체가 동일한 상태를 가지고 있는지 확인합니다. 하지만, equals() 메서드는 Object 클래스에서 상속받은 메서드로, 기본적으로 == 연산자와 동일한 기능을 합니다. 그러므로 이 메서드를 원하는 방식으로 작동하게 하려면, 해당 메서드를 재정의(오버라이드)해야 합니다.

ex)

String str1 = new String("Hello");
String str2 = new String("Hello");
System.out.println(str1.equals(str2)); // 이는 true를 출력합니다.
profile
서버 백엔드 개발자

0개의 댓글

Powered by GraphCDN, the GraphQL CDN