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 후
    }
}

'자바 중급' 카테고리의 다른 글

java.lang 패키지, 오토박싱  (0) 2024.01.30

+ Recent posts