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() 을 실행한다.
해당 특징을 이용하여 다형성을 극대화 하자.