Object클래스의 toString()을 보면 아래처럼 되어있어서 오브젝트 이름과 객체주소가 나옴! → 객체의 어떤 것인지 알기 힘들다. → 오버라이드 하자!

public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
java.lang.Object@a09ee92
java.lang.Object@a09ee92

아래처럼 Override해서 많이 쓴다! IDE의 도움을 받아 쓰자!

generator 단축키: ⌘N (macOS)

	private String dogName;
	private int age;

public Dog(String dogName, int age) {
	this.dogName = dogName;
	this.age = age;
}

@Override
public String toString() {
		return "Dog{" +
		"dogName='" + dogName + '\\'' +
		", age=" + age +
		'}';
	}
}

Object의 ToString()을 쓰기전에 자식에 재정의(오버라이딩)된 메서드가 있는지 아래서부터 위로 찾아본다. Dog 에 재정의된 메서드가 있다. Dog.toString() 을 실행한다.

해당 특징을 이용하여 다형성을 극대화 하자.