Java 기초공부
자바 기초 다지기 2편 - toString 재정의
산도리
2022. 7. 13. 14:09
아직 사용해보진 않았지만 나중에 꽤 많이 사용될 거 같은 느낌을 받아서 한번 작성해보려 한다.
먼저 최상위 클래스 Object 에 대해 알아보자.
Object 클래스 는 모든 클래스의 최상위 클래스이다.
모든 클래스는 Object 클래스를 상속 받고 ,
그래서 Object 클래스의 몇몇 메서드를 재정의 할 수 있다.
그중에 자주 재정의 가 되는게 바로 ToString 이라 할 수 있겠다.
아래 클래스를 보겠다.
class Book{
private String title;
private String author;
public Book(String title, String author) {
this.title = title;
this.author = author;
}
public String toString() {
return title + "," + author;
}
}
public class BookTest {
public static void main(String[] args) {
Book book = new Book("데미안", "헤르만 헤세");
System.out.println(book);
}
}
여기서 toString 을 보면 String 즉 Object 의 String 메서드를 Book 클래스에서 재정의 하였다.
자세히 말하자면 java.lang 패키지에 있는 String을 재정의 한 것 이다.
java.lang.Object
재정의를 하지 않는다면
@Override
public String toString() {
// TODO Auto-generated method stub
return super.toString();
}
toString 의 형태는 이럴 것이다 .
이럴경우 book은 "데미안" "헤르만 헤세" 가 아니라 클래스 풀네임@메모리 주소 가 출력된다.
그래서 원하는 결과 값을 얻고 싶을 때 종종 toString 을 오버라이딩 해주면 좋을거 같다는 생각을 하였다.