기본 동작 : 객체의 해시코드 출력
Book book = new Book("깊은 밤 부엌에서", "모리스 샌닥");
System.out.println(book);
// 출력 : com.yoon._object.Book@35bbe5e8
override : 객체의 정보를 문자열로 표현하고자 할 때
String str = new String("Apple");
System.out.println(str); // Apple
public class EqualsTest {
public static void main(String[] args) {
String str1 = new String("abc");
String str2 = new String("abc");
System.out.println(str1==str2); // false
System.out.println(str1.equals(str2)); // true
}
str1==str2에서의 ==는 주소값이 동일한지 검사하는 것
즉, 물리적으로 동일한지 확인하는 것
str1과 str2는 다른 주소에 있기 때문에 false가 반환 됨
str1.equals(str2)에서 equals()는 논리적 동일성을 확인 하는 것
str1과 str2의 인스턴스의 값는 abc로 같기 때문에 true 반환 됨