더북(TheBook)

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 + "]";

    }

}

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.