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

번역,의역 및 작성 : 초코토끼

검수 : 개발토끼

오역 및 오타의 지적은 겸손히 받겠습니다.


 


+ Recent posts