본문 바로가기

JAVA

[Java] 자주 Override하는 함수들 : Object

toString() : 객체를 표현하는 함수. print함수에서는 Object 객체의 toString을 출력하는 형태로 되어 있으므로, 인스턴스를 출력하면 toString 문자열을 보여준다.

equals() : 객체를 비교하는 함수. Object 원형에서는 주소값을 비교한다. 그러므로, 멤버 변수를 비교해서 같은지 비교하려면 오버라이드 해야 한다. equals를 재정의 할 때는 hashCode()도 재정의 해야함.

hashCode() : equals()를 오버라이드할 때, 같이 재정의 해줘야 한다. 왜냐하면 HashSet이나 HashMap 등에서 객체의 동일성을 확인하기 위해 a.equals(b) && a.hashCode()==b.hashCode() 로 이루어져 있기 때문이다.

'JAVA' 카테고리의 다른 글

[Java] Interface  (0) 2024.01.19
[Java] Abstract : 추상 클래스  (0) 2024.01.19
[Java] Polymorphism  (0) 2024.01.18
[Java] Encapculation  (0) 2024.01.18
[Java] Package  (0) 2024.01.17