[Java] Object 클래스_toString()

Devlog·2024년 3월 27일

Java

목록 보기
27/41

✔️ 객체 문자 정보(toString())

: 객체의 문자 정보를 리턴함
: 객체의 문자 정보란
객체를 문자열로 표현한 값

: 기본적으로 Object 클래스의 toString() 메소드는
'클래스이름@16진수해시코드'로 구성된 문자 정보를 리턴함

Object obj = new Object();
System.out.println( obj.toString() );

💻결과
java.lang.Object@de6ced

: Object의 toString() 메소드의 리턴값은
자바 애플리케이션에서 별 값어치 없는 정보임

: Object 하위 클래스는 toString() 메소드를
재정의(오버라이딩)하여 간결하고 유익한 정보를 리턴 하도록 되어 있음

ex)
java.util 패키지의 Date 클래스는 toString() 메소드를 재정의하여
현재 시스템의 날짜와 시간 정보를 리턴함

String 클래스는 toString() 메소드를 재정의해서
저장하고 있는 문자열을 리턴함
import java.util.Date;

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@5594a1b5
Tue Mar 26 16:35:17 KST 2024

• SmartPhone 클래스에서 toString() 메소드를 오버라이딩하여
제작회사와 운영체제를 리턴하기

class SmartPhone {
	private String company;
	private String os;
	
	public SmartPhone(String company, String os) {
		this.company = company;
		this.os = os;
	}
	
	@Override
	public String toString() {
		return company + ", " + os;
	}
}


public class SmartPhoneExample {

	public static void main(String[] args) {
		SmartPhone myPhone = new SmartPhone("구글", "안드로이드");
		
		// 재정의된 toString() 호출
		String strObj = myPhone.toString();
		System.out.println(strObj);
		
		/*
		 * 재정의된 toString()을
		 * 호출하고 리턴값을 받아 출력
		 */
		System.out.println(myPhone);

	}

}

💻 결과
구글, 안드로이드
구글, 안드로이드

0개의 댓글