[Java]/Program source (java)

127 - Java 자바의 주요 클래스 : Object 클래스, Object 클래스의 toString 메소드 오버라이딩

Jelly-fish 2023. 9. 15. 16:54
/*==============================================
  ■■■ 자바의 주요(중요) 클래스 ■■■
  - 자바에서 기본적으로 제공하는 주요 클래스들
  - Object 클래스
================================================*/


// Test126.java 파일과 비교~!!!


// import java.lang.*;
// (import java.lang.Object 를 포함하는 구문)


public class Test127 //extends Object
{

	/*
	Object 클래스로부터 상속받은 멤버들~!!!
	
	...
	public String toString()
	{
		....;
	}
	...
	*/

	@Override
	public String toString()
	{
		return "재정의한 toString()...";
	}


	public static void main(String[] args)
	{
		Test127 ob = new Test127();

		System.out.println(ob.toString());
		//--==>> 재정의한 toString()...

		
		// 메소드를 덮어써서...
		// Object를 출력하는 것은... ob를 활용하라는 것이므로
		// 그 내부에 있는 toString() 메소드가 실행되어 같은 결과가 출력된다.
		System.out.println(ob);
		//--==>> 재정의한 toString()...		


		// Test126.java 와 비교해 봤을 때...
		// 기본적으로, 한 클래스의 인스턴스를 생성하고
		// (Test127의 인스턴스 생성 → Test127 ob = new Test127());
		// 이 인스턴스를 println(Object) 메소드를 통해 출력하려고 했을 때
		// 자동적으로 toString() 메소드가 실행된다는 것을 알 수가 있다.
		
		// 즉, toString() 메소드의 기능은
		// 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
		// Returns a string representation of the object.
		// 객체의 문자열 표현을 반환합니다.
		// 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
		// 이므로...

		// Test127의 인스턴스를 저장한 ob 참조변수를 출력했을 때
		// Test127의 인스턴스를 ★ 문자열화 한 출력 ★을 내보내는 것이다!
	}
}