[Java] 자바 Object 클래스 - toString() 메서드의 재정의 예제


toSring() 메서드



// super 클래스를 지정하지 않으면 자동으로 Object가 수퍼 클래스가 된다.
public class Test03_2 /* extends Object */{
  static class Student1 {
    String name;
    int age;
   
    // toString()을 재정의 하지 않았기 때문에, Object 클래스의 toString()을 사용할 것이다.
  }
  static class Student2 {
    String name;
    int age;
   
    public String toString() {
      return String.format("이름: %s\n나이: %d\n", name, age);
    }
  }
 


 


public static void main(String[] args) {
    // Student 클래스가 정말 Object의 서브 클래스인지 확인해보자
    // 서브 클래스라면 수퍼클래스의 기능을 이용할 수 있어야 할 것이다.
    Student1 s1 = new Student1();
    s1.name = "홍길동";
    s1.age = 20;
   
    Student2 s2 = new Student2();
    s2.name = "임꺽정";
    s2.age = 30;
   
    System.out.println(s1.toString()); // 오리지널 toString() 호출
    System.out.println("------------------------");
    System.out.println(s2.toString()); // 재정의한 toString() 호출
   
  }

}


- 실행 결과 :

step08.Test03_2$Student1@15db9742 // 원본

------------------------

이름: 임꺽정                                  // 재정의

나이: 30

블로그 이미지

필로그래머

,