2016년 7월 24일 일요일

Java Programming [42강] HashSet으로 주민번호 중복 방지 회원가입 시스템 구현하기 : hashCode(), equals() 한꺼번에 재정의

HashSet은 데이터에 인덱스를 부여하지 않기 때문에 먼저 들어온 데이터와 나중에 들어온 데이터가 인덱스로 구분되지 않습니다. 대신 add()호출 시 hashCode나 Equals()와 같은 메서드를 통해 입력하려는 데이터가 이미 HashSet 구조로 선언된 가방 안에 들어있는지 여부를 확인하고 없으면 add()성공, 이미 존재하면 add()실패처리로 중복 데이터를 불허합니다.
add()호출시 hashCode()호출 -> Equals()호출 순서로 먼저 hashCode를 비교하고 같으면 Equlas를 호출, 같지 않으면 add실패처리 하는 방식입니다. 따라서 홈페이지 회원가입 과정에 이름과 주민번호를 입력하면 주민번호가 동일할 시 가입을 미연에 방지하기 위해서는 객체의 해시코드 비교나 기존의 equals()메서드 호출로는 불가능하기 때문에 이런 프로그램을 만들기 위해서는 hashCode(), Equals()메서드를 동시에 재정의(오버라이드)해주어야 합니다.
다음의 실습과정이 주민번호 중복 방지 프로그램입니다.





댓글 없음:

댓글 쓰기