[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);
}
}
// 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
'Programming > java' 카테고리의 다른 글
[Java] 컬렉션 클래스 - List, Set, Map의 개념 정리 (3) | 2017.05.12 |
---|---|
[Java] 랩퍼(wrapper) 클래스와 boxing / unboxing (2) | 2017.05.12 |
[Java] 오버라이딩 (overriding)과 super 키워드 (0) | 2017.05.12 |
[Java] 상속 (inheritance)과 Object 클래스 (0) | 2017.05.12 |
[Java] String[] args (프로그램 아규먼트)란 무엇인가? (0) | 2017.05.11 |