일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- c언어정리
- 게임개발
- 게임엔진튜토리얼
- 프로그래밍
- bttask
- 25.06.11dir
- c++
- leveleditor
- 프로그래밍일기
- 언리얼ai
- livrary
- uaiperception
- DX
- unrealengineai
- 언리얼엔진
- 언리얼엔진공부
- 언리얼비헤이어비어트리
- 자료구조
- c++porinter
- directx
- 수학용어정리
- 각도변환
- 자료구조정리
- 자료형타입
- 영단어정리
- 월드아웃라이너
- c++class
- c++용어정리
- 언리얼엔진5
- ipc(inter process communication)
- Today
- Total
루리코딩 세상
해시코드(Hashcode) 본문
1. 정의
해시코드(Hashcode)는 객체를 식별하는 데 사용되는 고유한 정수 값을 의미한다.
객체의 주소값을 이용해서 생성되거나, 객체의 내용을 기반으로 재정의해서 만들 수 있다.
이 해시 코드는 주로 해시 테이블, 해시 맵과 같은 자료구조에서 객체를 빠르게 찾거나 구분하는 데 활용된다.
2. 해시코드의 주요 특징과 용도
고유성
동일한 객체는 항상 동일한 해시코드를 가져야 하며, 서로 다른 객체는 가능하면 다른 해시코드를 가져야합니다.(충돌방지)
빠른검색
해시코드를 이용하여 해시 테이블에 데이터를 저장하고 검색할 때, 데이터를 효율적으로 관리할 수 있습니다.
데이터 무결성
해시 값은 데이터의 무결성을 확인하는 데 사용될 수도 있습니다. 예를 들어, 데이터를 전송하거나 저장하기 전에 해시값을 계산하여 전송된 데이터가 변조되지 않았는지 확인 할 수 있습니다.
보안
해시 함수는 단방향 암호화 기법으로도 사용될 수 있습니다. 비밀번호 저장이나 디지털 서명에 사용될 때 원본 데이터를 복호화하기 어렵게 만듭니다.
3. 해시코드 생성 방법
기본 Method hashCode() Method
Objcet class의 hashCode() 메서드는 객체의 주소값을 이용해서 hashCode를 생성합니다.
재정의된 hashCode() Method
객체의 특정 필드(예 : 내용)을 기반으로 hashCode를 생성 할 수 있습니다. 이때는 equals() method와 함께 재정의하며, 동일한 내용을 가진 객체가 같은 hashCode를 가지도록 해야 합니다.
4. 해시코드 관련 용어
해시 함수 (Hash function) :
임의의 길이의 data를 고정된 길이의 data(hash 값)로 매핑하는 함수
해시 테이블 (Hash table) :
키-값 쌍을 저장하는 자료구조로, hash 함수로 이용하여 data를 저장하고 검색합니다.
equals() mathod :
두 객체가 내용적으로 같은지 비교하는 method로 hashCode()와 함께 사용됩니다.
# 참고
- 해시 코드는 객체의 지문과 유사하게 사용될 수 있습니다.
- 해시 코드는 Java, Python, C++, C# 등 다양한 프로그래밍 언어에서 사용됩니다.
- 해시 코드는 데이터 구조, 알고리즘, 보안 등 다양한 분야에서 활용됩니다.
해당 문서는 Google Search Labs - AI를 활용해서 작성되었습니다.
'이론' 카테고리의 다른 글
디렉토리(Directory)란? (1) | 2025.05.28 |
---|---|
PCH(Platform Controller Hub, PCH) 플랫폼 컨트롤러 허브 (1) | 2025.05.27 |
Deadlock (교착 상태) (0) | 2025.05.26 |
확장자 명에 따른 프로그램 유형 (0) | 2025.05.14 |
CPU Register (0) | 2025.05.14 |