• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

isEqualTo()질문

23.05.25 22:23 작성 조회수 209

0

isEqualTo()가 대상의 내용자체를 비교한다라고 알고 있었는데 수업시간에 isEqualTo() 내부에 equals()를 포함한다고 배웠습니다.

그럼 만약 Object.equals()라면 isEqualTo()가 객체의 주소를 비교하고 , String.equals()라면 isEqualTo()가 객체의 값을 비교하나요??

답변 1

답변을 작성해보세요.

0

codesweaver님의 프로필

codesweaver

2023.05.26

안녕하세요, 코딩먹는하마 님! 공식 서포터즈 codesweaver 입니다.

Object.equals()는 주소값 비교, String.equals()는 값 비교를 하게 됩니다.

모든 객체는 Object의 자손이므로 equals() 메서드를 가지고 있습니다.

다만, 자손은 부모의 메서드를 오버라이딩 하여 동작을 변경/확장 할 수 있는데 String의 equals() 메서드가 바로 그 예입니다.

개발자가 equals() 메서드를 별도로 오버라이딩 하지 않은 경우 Object의 equals()를 호출하게 되어 주소를 비교합니다.

감사합니다.