Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

우주코딩

Object 클래스와 hashCode() 메서드 본문

자바 본 강의

Object 클래스와 hashCode() 메서드

우주코딩 2021. 8. 9. 18:17

Object 클래스와 hashCode() 메서드

  1. hashCode()

해시코드 = 디지털 지문
데이터를 구분할 때 사용하는 식별번호(정수값)
Date ---- 요약값(Message Digest) ---- 해시값

해시코드 쓰는 이유?

  • 데이터 동일 여부 검사 (요약하는 알고리즘)
  • 두개의 데이터를 비교할 때 1바이트 씩 순서대로 원본 비교를 하는 것 보다 요약데이터를 갖고 비교해서 비교 속도를 더 빠르게 하기위해 해시 값을 쓴다.
  • 원본을 비교하는 것 보다 요약데이터, 즉 해시값을 비교하는 것이 훨씬 시간이 적게 든다.
    => 현실세계도 시간이 중요하다!

ex) 파일공유 사이트에서 같은 파일인지 비교할 때 해시값을 사용한다.

해시값

  • Data를 특별한 _수학공식_으로 계산하여 만든 작은 정수값

  • 원래 데이터를 요약한 값 = 원래 데이터보다 작다.

  • 서로 다른 데이터가 같은 해시 값을 가질 수 있다. 하지만 그 서로 다른 데이터가 같은 해시값을 가질 확률이 낮다. 낮으면 낮을수록 좋은 공식이 되는 것이다.

  • 해쉬 값(정수값)이 클수록 해쉬 값이 중복될 가능성이 낮아지지만 계산시간은 증가된다.

해시 알고리즘과 계산시간

MD5 -- > 해시값 (시간 ↓ 중복될확률 ↑) - 중복될 확률보다도 시간이 짧은게 더 중요한 경우
SHA -- > 해시값 (시간 ↑ 중복될확률 ↓) - 시간이 오래 걸리더라도 중복 가능성이 낮은것이 더 중요한 경우(보안 관련)

이 뒤에 계속...

Comments