4.2.1 toString 메서드
Object 클래스의 중요한 메서드 하나는 객체의 문자열 표현을 반환하는 toString 메서드다. 예를 들어 java.awt.Point 클래스의 toString 메서드는 다음 문자열을 반환한다.
java.awt.Point[x=10,y=20]
toString 메서드는 주로 클래스 이름 뒤에 인스턴스 변수 목록을 대괄호([])로 감싸서 나열하는 형식을 따른다. 다음은 이 형식에 따라 구현한 Employee 클래스의 toString 메서드다.
public String toString() {
return getClass().getName() + "[name=" + name + ",salary=" + salary + "]";
}
"Employee"라는 문자열을 직접 써넣는 대신 getClass().getName()을 호출하면 서브클래스에서도 toString 메서드가 올바르게 작동한다.
서브클래스에서는 super.toString()을 호출한 후 해당 서브클래스의 인스턴스 변수를 별도의 대괄호 쌍 안에 넣어 추가한다.
public class Manager extends Employee {
...
public String toString() {
return super.toString() + "[bonus=" + bonus + "]";
}
}