작성
·
307
0
isEqualTo()가 대상의 내용자체를 비교한다라고 알고 있었는데 수업시간에 isEqualTo() 내부에 equals()를 포함한다고 배웠습니다.
그럼 만약 Object.equals()라면 isEqualTo()가 객체의 주소를 비교하고 , String.equals()라면 isEqualTo()가 객체의 값을 비교하나요??
답변 1
0
안녕하세요, 코딩먹는하마 님! 공식 서포터즈 codesweaver 입니다.
Object.equals()는 주소값 비교, String.equals()는 값 비교를 하게 됩니다.
모든 객체는 Object의 자손이므로 equals() 메서드를 가지고 있습니다.
다만, 자손은 부모의 메서드를 오버라이딩 하여 동작을 변경/확장 할 수 있는데 String의 equals() 메서드가 바로 그 예입니다.
개발자가 equals() 메서드를 별도로 오버라이딩 하지 않은 경우 Object의 equals()를 호출하게 되어 주소를 비교합니다.
감사합니다.