package com.study.javastudy.middle;
import java.util.Objects;
public class Student {
String name;
String number;
int birthYear;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Student student = (Student) o;
return birthYear == student.birthYear && Objects.equals(name, student.name) && Objects.equals(number, student.number);
}
@Override
public int hashCode() {
return Objects.hash(name, number, birthYear);
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", number='" + number + '\'' +
", birthYear=" + birthYear +
'}';
}
public static void main(String[] args) {
Student s1 = new Student();
s1.name = "홍길동";
s1.number = "1234";
s1.birthYear = 1995;
Student s2 = new Student();
s2.name = "홍길동";
s2.number = "1234";
s2.birthYear = 1995;
if(s1.equals(s2))
System.out.println("s1 == s2"); // 출력(오버라이딩 후)
else
System.out.println("s1 != s2"); // 출력
System.out.println(s1.hashCode()); // 2052001577 , 545426518(오버라이딩 후)
System.out.println(s2.hashCode()); // 1160264930 , 545426518(오버라이딩 후)
System.out.println(s1); // Student{name='홍길동', number='1234', birthYear=1995}, toString 후
System.out.println(s1.toString()); // Student{name='홍길동', number='1234', birthYear=1995}, toString 후
}
}