JAVA toString() method
만약 문자열처럼 어떤 객체를 나타내기를 원한하면, toString() 메소드로 구현할 수 있습니다.
toString() 메소드는 객체를 문자열을 돌려줍니다.
만약 어떤 객체를 출력한다면, 자바 컴파일러는 내부 객체에서 toString() 메소드를 동작합니다.
그래서 오버라이드(Overrride)된 toString() method는 원하는 출력값을 돌려주게 되고 객체 등을 명시하게 됩니다.
이는 우리가 어떻게 구현하는 가에 달려있습니다.
Advantage of Java toString () method
클래스 객체의 toString() method 오버라이딩에 의해, 객체값을 반환할 수 있기 때문에 많은 코드를 적을 필요가 없게 됩니다.
Understanding problem without toString() method
출력 레퍼런스를 나타낸 간단한 코드를 봅시다.
class Student{
int rollno;
String name;
String city;
Student(int rollno, String name, String city){
this.rollno=rollno;
this.name=name;
this.city=city;
}
public static void main(String args[]){
Student s1=new Student(101,"Raj","lucknow");
Student s2=new Student(102,"Vijay","ghaziabad");
System.out.println(s1); //compiler writes here s1.toString()
System.out.println(s2); //compiler writes here s2.toString()
}
}
output : Student@1fee6fc,
student@1eed786
위의 예를 보듯이, s1과 s2의 출력은 개체의 해쉬코드(hashcode) 값을 나타냅니다.
하지만 우리는 이런 객체 값을 출력 하길 원치 않습니다.
내부에 자바 컴파일러가 toString() method를 요청한 이후, 오버라이딩된 이 메소드는 지정된 값을 반환 할 것 입니다.
아래 주어진 예를 통해 이해해 봅시다.
Example of Java toString() method
class Student{
int rollno;
String name;
String city;
Student(int rollno, String name, String city){
this.rollno=rollno;
this.name=name;
this.city=city;
}
public String toString(){ //overriding the toString() method
return rollno+" "+name+" "+city;
}
public static void main(String args[]){
Student s1=new Student(101,"Raj","lucknow");
Student s2=new Student(102,"Vijay","ghaziabad");
System.out.println(s1); //compiler writes here s1.toString()
System.out.println(s2); //compiler writes here s2.toString()
}
}
output : 101 Raj lucknow
102 Vijay Ghaziabad
영어원문내용출처 : http://www.javatpoint.com
번역,의역 및 작성 : 초코토끼
검수 : 개발토끼
오역 및 오타의 지적은 겸손히 받겠습니다.
'IT Story > about Java' 카테고리의 다른 글
Java String 자바 스트링 charAt , compareTo , concat (0) | 2015.10.14 |
---|---|
StringBuffer and StringBuilder 의 차이 (0) | 2015.10.14 |
스트링과 스트링버퍼의 차이 [java, String and StringBuffer] (0) | 2015.10.08 |
Java StringBuffer class (0) | 2015.10.06 |
Substring in Java [자바 부분 문자열] (0) | 2015.10.05 |