728x90
Java 에서 '==' 연산자와 'equals()' 메서드는 객체 비교에 사용되는 방법이다
== 연산자
- 객체의 참조(메모리 주소)를 비교
- 두 객체가 동일한 메모리 위치를 가지고 있을 때 true 를 반환하고 그렇지않은 경우 false 를 반환
- 기본 자료형(primitive types)의 경우, 값 비교에 사용될 수 있음
equals() 메서드
- 객체의 내용(값)을 비교
- 기본적으로 'equals()' 메서드는 '==' 연산자와 동일한 결과를 반환함
- 하지만 많은 클래스들은 'equals()' 메서드를 재정의하여 객체의 내용을 비교하도록 구현함
# 예시
String str1 = "Hello";
String str2 = "Hello";
String str3 = new String("Hello");
// '==' 연산자를 사용한 비교
System.out.println(str1 == str2); // true (같은 메모리 위치를 가리킴)
System.out.println(str1 == str3); // false (다른 메모리 위치를 가리킴)
// 'equals()' 메서드를 사용한 비교
System.out.println(str1.equals(str2)); // true (값이 동일)
System.out.println(str1.equals(str3)); // true (값이 동일)
728x90
'1. basic' 카테고리의 다른 글
Java 에서 String은 기본 데이터 타입 ? (0) | 2023.07.05 |
---|---|
Java 에서 Math.round(-1.5)의 의미 (0) | 2023.07.05 |
Java 에서 final 의 기능 (0) | 2023.07.05 |
두 객체가 동일한 hashCode를 가질 때 Equals() 값 (0) | 2023.07.03 |
JDK 와 JRE 의 차이점 (0) | 2023.06.27 |