본문 바로가기

JAVA/DAY 18 _ 23.09.11

Hash Code2

public class Main_HashCode2 {

	public static void main(String[] args) {

		Student s1 = new Student();
		s1.name = "한조";
		s1.age = 30;
		s1.score = 60;
		
		
		Student s2 = new Student();
		s2.name = "한조2";
		s2.age = 30;
		s2.score = 60;
		
		System.out.println(s1.hashCode());
		System.out.println(s2.hashCode());
		// 내가만든 hashcode 메서드에서 둘다 1 반환되고있으니까 1이겠지.
		
	}

}
class Student{
	
	String name;
	int age;
	int score;
	
	
	// Object class hashCode를 오버라이딩 (리턴타입 : int)
	
//	--> Object클래스에서 hashCode가 int로 지정돼있나보지?
	
//	public String hashCode() {		 --> 이거안된다구
//		return "나는 hashCode메서드";
//	}
	
//	public int hashCode() {			--> 이거라구
//		return 1;
//	}
	
	
	public int hashCode() {
		
		int result = name.hashCode() + age + score;
		return result;
	}
	
	// 이름, 나이, 점수가 같을 때 : result가 같다
	// 이름이 달라진다 : 달라짐! (이름의 hashcode가 다르니까)

}

'JAVA > DAY 18 _ 23.09.11' 카테고리의 다른 글

Wrapper Class2  (0) 2023.09.11
Wrapper Class  (0) 2023.09.11
Hash Code  (0) 2023.09.11
Object _ Equals Overiding  (0) 2023.09.11
Object Class  (0) 2023.09.11