Java에서 toString()의 역할
조회수 1039회
/*
* 다음 주민등록 번호의 중간에 삽인된 -를 지우고 공백으로 채워서 출력하는 프로그램을
* 작성해보자. 단 StringBuilder 클래스를 활용하여 빈번한 문자열의 생성이 발생하지
* 않도록 해야 한다. 990925-1012999
*/
package ch11;
public class Ch11_2_Q1 {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder("990925-1012999");
sb.replace(6, 7, " ");
System.out.println(sb.toString());
}
}
주석에 표시된 위의 예제를 풀고있는데 여기서 toString()에 대해 이해가 잘 가지 않습니다.
출력부분을 System.out.println(sb); 로 해도 같은 결과값을 얻는데 변수를 그대로 출력하는 것과 toString()를 이용해서 출력하는 것과 무엇이 차이인가요?
1 답변
-
자바는 객체지향언어입니다.
자바에서 최상의 클래스는 Object 이고 toString 이 구현되어 있습니다.
또한 객체를 출력하면 toString 메소드의 결과를 리턴하게 되어 있습니다.
모든 클래스는 결국 Object 가 최상위 부모이므로 toString 은 무조건 구현되어 있는 셈입니다.
StringBuilder 의 경우 내부적으로 toString 을 오버라이딩하고 있습니다.
즉 StringBuilder 를 사용하고 명시적으로 객체.toString() 을 호출하나 객체를 대입해서 출력하나 같습니다.
댓글 입력