2021-07-18

0718 equals, == , hashcode

 1. equals는 객체를 비교 하는 메서드이고,

==는 값을 비교하는 연산자이다. 

equals는 두개의 객체가 동일한지를 검사한다. 기본적으로는 메모리값을 기준으로 하기 때문에, 오버라이딩하지않으면 - 두 객체가 가지고 있는 멤버변수값이 전부 동일하더라도 false가 나온다.

롬복을 이용해서 - @Equals메소드를 간단하게 오버라이딩할 수 있다. 


2. hashcode : 메모리의 주소값을 기준으로 해쉬코드값을 생성.

따라서 equals메서드를 재정의 하는 경우, 사이드이펙트를 줄이기 위하여 해쉬코드도 재정의한다. 해당 객체 equals()가 true라면 hashcode또한 true하도록!!

동일한 객체는 동일한 메모리 주소를 가져야 한다. 

HashMap에 equals()true인 객체를 두개 넣어도 -> size가 1개 나오도록!!

(Hash~~의 자료구조 : 해쉬코드 값을 기준으로 key값을 생성한다.)

댓글 없음:

댓글 쓰기

0328 fdisk, mkfs, mount, fstab

 1. 하드디스크를 붙인다. 2. fdisk -l로 하드디스크를 확인한다.  - interactiive한 커맨드모드 사용하여 (m) 붙인 하드디스크의 파티셔닝을 한다.  - 마지막에 w를 해야 실제로 반영이 된다.  3. mkfs를 하여 어떤 파일시스...