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

+ Recent posts