본문으로 바로가기

Object와 오버라이딩

category 공부/Java 2024. 6. 25. 18:26
  • equals  객체가 가진 값을 비교할 때 사용
  • toString  객체가 가진 값을 문자열로 반환
  • hashCode  객체의 해시코드 값 반환

🦛 실습

Car클래스는 name과 number라는 필드를 가집니다.

Car 클래스를 문자열로 바꾸면 다음과 같은 형식이 되도록 toString 메소드를 오버라이드 해 보세요.

name : [이름], number: [번호]

 

예를 들어 name의 값이 "Car"이고, number가 1234이라면, 해당 오브젝트의 문자열 값은 "name: Car, number: 1234" 와 같이 되어야 합니다. 

 

  • Object 클래스는 모든 클래스의 최상위 클래스입니다.
    아무것도 상속받지 않으면 자동으로 Object를 상속받기 때문에, Object가 가지고 있는 메소드는 모든 클래스에서 다 사용할 수 있다는 것을 의미합니다.
  • Object가 가지고 있는 메소드 중에서 가장 많이 사용되는 메소드는 equals, toString, hashCode가 있으며 이는 반드시 오버라이딩해서 사용해야 합니다.
public class Car{
    String name;
    int number;
    
    @Override
    public String toString() {
        return "name: " + name + ", number: " + number;
    }

    public static void toString(String name, int number) {
        Car car = new Car();
        car.name = "Car";
        car.number = 1234;
        System.out.println(car.toString());
    }
    
}