Object 클래스
모든 클래스의 최상위 클래스(아무것도 상속받지 않으면 자동으로 Object를 상속받기 때문)
Object가 가지고 있는 메서드는 모든 클래스에서 다 사용할 수 있다는 것을 의미
equals. toString, hashCode 메서드를 많이 씀
equals - 객체가 가진 값을 비교할 때 사용(기준을 정해야지만 비교를 할 수 있음)
toString - 객체가 가진 값을 문자열로 반환
hashCode - 객체의 해시코드 값 반환
Override 메서드
- hashCode
EClipse 상단 메뉴에 Source 클릭 > Generate hashCode( ) and equals( ) 클릭 > 보여주고 싶은 속성 체크
- toString
EClipse 상단 메뉴에 Source 클릭 > Generate toString( ) 클릭 > 보여주고 싶은 속성 체크
-----------------------------------
Student.java
------------------------------------
package JavaStudy;
public class Student {
String name;
String number;
int birthYear;
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((number == null) ? 0 : number.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Student other = (Student) obj;
if (number == null) {
if (other.number != null)
return false;
} else if (!number.equals(other.number))
return false;
return true;
}
@Override
public String toString() {
return "Student [name=" + name + ", number=" + number + ", birthYear=" + birthYear + "]";
}
public static void main(String[] args) { // ctrl + space 누르면 main method를 쉽게 만들 수 있음
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());
System.out.println(s2.hashCode());
System.out.println(s1);
System.out.println(s1.toString());
}
}
------------------------------------
Console
------------------------------------
s1 == s2
1509473
1509473
Student [name=홍길동, number=1234, birthYear=1995]
Student [name=홍길동, number=1234, birthYear=1995]
'자바' 카테고리의 다른 글
StringBuffer (0) | 2020.11.02 |
---|---|
Java.lang 패키지/오토 박싱 (0) | 2020.10.20 |
EClipse (0) | 2020.10.14 |
Network (0) | 2020.07.15 |
2byte Stream (0) | 2020.07.15 |