toString() : 객체의 문자 정보(문자열로 표현한 값) 리턴
Object 클래스의 toString() 메소드는 "클래스명@16진수해시코드"로 구성된 문자 정보를 리턴한다.
하지만 이 리턴값은 별 값어치가 없는 정보이므로, Object의 하위클래스는 toString() 메소드를 재정의하여 사용한다.
① Date 클래스 - toString() 재정의하여 현재 시스템의 날짜와 시간 정보를 리턴
② String 클래스 - toString() 재정의하여 저장하고 있는 문자열 리턴
System.out.println(Object) : Object의 toString() 메소드를 출력하게끔 내부적으로 설정되어 있다.
즉, System.out.println(myPhone); = System.out.println(myPhone.toString());
객체의 문자 정보
package sec03.exam03_tostring_YJ;
public class SmartPhone {
//필드
private String company;
private String os;
//생성자
public SmartPhone(String company, String os) {
this.company = company;
this.os = os;
}
//메소드
@Override //toString() 재정의
public String toString() {
return company + ", " + os;
}
}
객체의 문자 정보
package sec03.exam03_tostring_YJ;
import java.util.Date;
public class SmartPhoneExample {
public static void main(String[] args) {
SmartPhone myPhone = new SmartPhone("구글", "안드로이드");
String strObj = myPhone.toString();
System.out.println("strObj: " + strObj);
System.out.println(myPhone); //매개값으로 객체를 주면 myPhone.toString()을 자동 호출해서 리턴값을 얻은 후 출력한다.
// = System.out.println(myPhone.toString());
Object obj1 = new Object();
System.out.println(obj1);
Date obj2 = new Date();
System.out.println(obj2.toString()); //현재 날짜와 시간 출력
}
}
strObj: 구글, 안드로이드
구글, 안드로이드
java.lang.Object@139a55
Mon Nov 08 12:44:53 KST 2021
'Java > 11. 기본 API 클래스' 카테고리의 다른 글
Day 15 : Objects 클래스 - compare(T a, T b, Comparator<T>) : 객체 비교 (0) | 2021.11.08 |
---|---|
Day 15 : Object 클래스 - finalize() : 객체 소멸자 (0) | 2021.11.08 |
Day 15 : Object 클래스 - clone() : 객체 복제 (0) | 2021.11.08 |
Day 15 : Object 클래스 - hashCode() : 객체 해시코드 (0) | 2021.11.08 |
Day 15 : Object 클래스 - equals() : 객체 비교 (0) | 2021.11.08 |