자바

JAVA 자바 Object 클래스 객체의 문자 정보 toString()

알통몬_ 2017. 3. 14. 10:11
반응형

객체의 문자 정보 toString()

객체의 문자 정보를 리턴합니다. 객체의 문자 정보 : 객체를 문자열로 표현한 값을 말합니다. 

기본적으로 toString 메서드는 "클래스@16진수해시코드" 구성된 문자 정보를 리턴합니다.

Object obj = new Object();

System.out.println(obj.toString() );

실행 결과

=> java.lang.Object@de6ced


Object 클래스의 toString() 메서드의 리턴값은 자바 애플리케이션에서는 별로 중요하지 않은 정보이므로

 Object 하위 클래스는 toString() 매서드를 오버라이딩해서 간결하고 유익한 정보를 리턴하도록 되어 있습니다.

 예를 들어 java.util 패키지의 Date 클래스는

 toString() 메서드를 오버라이딩하여 현재 시스템의 날짜와 시간 정보를 리턴합니다.


예제)

public class ToStringExample {

public static void main(String[] args) {

Object obj1 = new Object();

Date obj2 = new Date();

System.out.println(obj1.toString());

System.out.println(obj2.toString());

}

}

실행 결과

=> java.lang,Object@1b15692

    Mon Jan 04 14:36:06 KST 2016


클래스를 만들어서 toString() 메서드를 오버라이딩하는 예제를 보겠습니다.

public class Phone {

private String company;

private String os;

public Phone(String company, String os) {

this.company = company;

this.os = os;

}

@Override

public String toString() {

return company + ", " + os;

}

}


public class PhoneExample {

public static void main(String[] args) {

Phone myPhone = new Phone("구글", "안드로이드");

String strObj = myPhone.toString();

System.out.println(strObj); 

System.out.println(myPhone);

}

}

System.out.println()메서드는 매개값이 기본 타입이면 해당 값을 그대로 출력하고,

 매개값으로 객체를 주면 객체의 toString()메서드를 호출해서 리턴값을 받아 출력하도록 되었습니다.

그렇기 때문에 System.out.println(strObj); 에서는 toString 메서드의 리턴값을 출력하는 것입니다.

반응형