반응형
Object 클래스
최상위 클래스, 아무것도 상속받지 않으면 자동으로 Object 상속.
오브젝트의 메소드 중 가장 많이 쓰는 메소드 셋. (반드시 오버라이딩)
- equals 객체가 가진 값 비교
- toString 객체가 가진 값 문자열로 변환
- hashCode 객체의 해시코드 값 반환
package com.company;
import java.util.Objects;
public class Student {
String name;
String number;
int birthYear;
//generate
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", number='" + number + '\'' +
", birthYear=" + 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);
}
public static void main(String[] args){
Student s1 = new Student();
s1.name = "김이박";
s1.number = "1111";
s1.birthYear = 1900;
Student s2 = new Student();
s2.name = "김이박";
s2.number = "1111";
s2.birthYear = 1900;
if(s1.equals(s2))System.out.println("s1==s2");
else System.out.println("s1!=s2");
System.out.println(s1.hashCode());
System.out.println(s2.hashCode());
}
}
이 글은 아래 강의를 수강하고 개인적으로 정리한 글입니다.
https://programmers.co.kr/learn/courses/9
반응형
'Programming > Java' 카테고리의 다른 글
[기초] 예외 처리 (0) | 2019.12.19 |
---|---|
[기초] 내부 클래스, 익명 클래스 (0) | 2019.12.19 |
[기초] String 클래스 (0) | 2019.12.19 |
Java 개발 환경 Intellij 설치 (0) | 2019.12.19 |
[Spring] DAO, DTO, Service란 (0) | 2019.04.17 |
댓글