본문 바로가기
백엔드

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}
반응형

'백엔드' 카테고리의 다른 글

[GIT] 커밋 메시지 수정하기  (2) 2023.11.23
equals, hashcode를 재정의 하는 이유  (0) 2023.10.16
JAVADOC  (0) 2023.10.16
마이바티스에서 ${}, #{} 변수의 사용  (0) 2023.10.15
CMD 창 내용 복사하기, 붙여넣기  (0) 2023.10.15