본문 바로가기
카테고리 없음

toString을 재정의 하는 이유

by cook_code 2023. 10. 16.
반응형

이미지 출처:  dev_note.log

toString을 재정의 하는 이유

  • 간결하면서 사람이 읽기 쉬운 형태의 유익한 정보를 반환
  • 객체의 특성에 따라 재정의 시 포매팅
  • 객체가 가진 주요 정보를 모두 반환

재정의 하지 않을 경우, 디버깅 시 클래스 이름이 해시코드로 반환되어 정보를 알기가 어렵습니다.

메서드 재정의 전의 toString() 호출 결과

public class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public static void main(String[] args) {
        Person person = new Person("Alice", 30);
        System.out.println(person);
    }
}
//메서드 재정의 전의 toString() 호출 결과
Person@15db9742

메서드 재정의 후의 toString() 호출 결과

public class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

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

    public static void main(String[] args) {
        Person person = new Person("Alice", 30);
        System.out.println(person);
    }
}
//메서드 재정의 후의 toString() 호출 결과
Person{name='Alice', age=30}
반응형