객체의 문자 정보 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 메서드의 리턴값을 출력하는 것입니다.
'자바' 카테고리의 다른 글
JAVA 자바 Object 클래스 객체 소멸자 finalize() (0) | 2017.03.14 |
---|---|
JAVA 자바 Object 클래스 객체 복제 clone (0) | 2017.03.14 |
JAVA 자바 Object 클래스 객체 해시코드 hashCode() (0) | 2017.03.14 |
JAVA Object 클래스 객체 비교 equals() (0) | 2017.03.14 |
JAVA 자바 예외처리 : 예외 정보 얻기 (0) | 2017.03.13 |