inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 2(마스터편)

Object 클래스와 메서드들

섹션 1 - 1 equals 재정의 하면 왜 hashcode도 재정의 해야하는지..

238

JunSuPark

작성한 질문수 8

0

섹션 1 - 1 강의 내용.

왜 equals 재정의 했다면 왜 hascode 도 재정의 해야하는지 이해가 되지 않습니다.

java 객체지향 알고리즘

답변 1

1

박은종

두 객체가 같다는것의 원래 정의는 같은 인스턴스 입니다. 같은 인스턴스는 곧 메모리 주소가 같은데, 자바에서는 이 메모리 주소를 hashCode 라고 합니다. hashCode()메서드가 재정의 되어 있지 않은 경우 인스턴스의 hashCode() 메서드의 반환값은 인스턴스 주소의 10진수 값이 됩니다.

그런게 두 객체가 같다는 논리적 정의인 equals()를 재정의 한 경우에 가령, 학번이 같다, Integer 객체의 숫자 값이 같다 와 같은 경우 equals()는 같은데, hashCode()가 재정의 되어 있지 않다면 논리적으로 같은객체의 다른 hashCode 값이 반환되는 것입니다. 따라서 Integer와 같은 경우는 해당되는 숫자 값을, 학생의 경우 학번을 반환해주도록 hashCode()메서드를 재정의 해주는 것입니다.

커리큘럼 중 정렬 관련 질문

0

8

1

이진 탐색 문제 질문드립니다

0

252

1

ChatRoom에서 synchronized 사용 이유

0

479

1

미로찿기 질문드립니다

0

304

2

socket 질문드립니다

0

282

1

지역 내부 클래스 질문드립니다.

0

205

1

큐 구현하기 질문드립니다

0

323

2

수업자료

0

176

1

컬렉션 프레임워크에서 get()

0

266

2

synchronized 과정

0

201

1

awt 패키지 접근 불가 에러

0

519

1

iterator 관련 질문입니다.

0

240

1

수업 중간에 메소드 정의 보시는거 어떻게 하는지 알 수 있을까요?

1

289

2

예외처리 질문드려요

0

393

1

멀티 쓰레드 동기화 관련 질문입니다!

1

407

1

Generic 강의중 궁금한점

0

377

1

여러 가지 보조 스트림 클래스들

0

315

1

교재내용

0

335

1

힙메모리

0

444

1

미로찾기 문제에 VISIT의 쓰임

1

485

2

입출력 스트림 질문입니다.

0

273

1

알고리즘 강의는 무슨언어로 진행하시나요? 혹시 자바로 하시나요?

0

404

2

강의 화면의 깃랩은 어떻게 들어가나요?

0

690

2

강의가 잘못 업로드 되어 있습니다.

1

426

2