반응형
Object는 기본적으로 모든 클래스들이 상속하는 클래스.
이 메서드들은 오버라이딩하도록 제공되는 메서드들이다.
Example
public class example {
public static void main(String[] args) {
Car car = new Car();
System.out.println(car); // println(Object x)
}
}
Object를 받아서 출력하는 메서드를 가지고 있음: Object로 참조할 수 있는 모든 매개변수는 모두 이 메서드를 사용할 수 있다.
해당 println()을 살펴보자.
→ toString()메서드가 실행되는 것.
다만, Car 클래스에 Object 메서드를 오버라이드하여 작성하지 않으면 쓸모가 없다.
왜 이것들을 오버라이드하여 사용하나?
- toString(): 클래스의 속성 값을 출력하는 메서드: 어떤 속성을 출력해주어야 하나?
- equals(): 같은 값인지를 확인하는 메서드: 같은지 판단하는 기준이 필요
- hashCode() 는?
- 해시를 사용할 때에는 다음의 두가지 기능이 필요하다: (1) 해시 코드 생성, (2) 두 값이 같은지 판단
- HashSet, HashMap 이라는 자료구조 객체를 사용할 때 equals()와 hashCode() 메서드를 오버라이드하여 사용하게 된다.
반응형
'Programming > Java' 카테고리의 다른 글
추상 클래스 1: 추상 클래스란 (0) | 2023.11.30 |
---|---|
Java 생성자와 super(), Immutable (1) | 2023.11.30 |
다형성 Polymorphism (0) | 2023.11.28 |
상속 (0) | 2023.11.28 |
패키지 | 토막글 (1) | 2023.11.28 |