본문 바로가기
[study]이론정리/JAVA(eclipse)

java 9일차 _02. Object 의 toString( )

by yoon9i 2024. 3. 20.

2. java.lang.Object 클래스
- 모든 클래스들의 최상위 클래스 ( root 클래스 )
- 클래스생성( new ) 할때 가장 먼저 생성되는 클래스.
- 8개의 메서드를 구성요소로 가지고있음.
  따라서 자식 클래스에서는 Object 의 메서드를 그냥 사용할
  수도 있고 필요시 오버라이딩( Overriding ) 할 수 있다.

- Object 의 toString( )
==> 문자열로 변환해주는 기능. 
( Returns a string representation of the object )
==> 자동으로 호출된다. ( 콘솔에 참조변수를 출력할 때 )
==> getClass( ).getName( ) + '@' + Integer.toHexString(hashcode( ))
    구현되어 있음
==> 사용자가 만든 클래스에서는 거의 대부분 오버라이딩해서 사용
       해야 되고 Java API 는 거의 100% 오버라이딩이 되어 있다.
        ex) String s = "hello";

System.out.println(s);

 

package exam13_Object_toString;

class Test {
	int num;
	int num2;
	
	public Test(int n ,int n2) {
		num = n;
		num2 = n2;
	}
	
	// num 과 num2 를 한번에 리턴하는 메서드 추가
	public String getNums() {
		return num +"\t"+ num2;
	}



	// toString 재정의 1)
//	@Override
//	public String toString() {
////		return super.toString();
//		// 변경 ->
//		return num +"\t"+ num2;
//	}
	
	// toString 재정의 2)
	// source > generate toSting
	@Override
	public String toString() {
		return "Test [num=" + num + ", num2=" + num2 + "]";
	}
	
	
}


public class ObjectTest {

	public static void main(String[] args) {
		Test t = new Test(10,20);
		System.out.println(t.getNums()); // 10 20
		
		//toString() 자동호출
		System.out.println(t); // 10 20
		System.out.println(t.toString()); // 10 20
		
		// Java API
		String s = "hello";
		
		System.out.println(s);
		System.out.println(s.toString());
	}

}

 

///////////////  중요 ///////////////////////////////
* 클래스작성 구성요소
1. 변수
2. 생성자
3. getter / setter
4. toString 오버라이딩
5. 유효성체크 메서드 (옵션)
/////////////////////////////////////////////////////////

'[study]이론정리 > JAVA(eclipse)' 카테고리의 다른 글

java 9일차 _04. 추상클래스  (0) 2024.03.20
java 9일차 _03. 접근지정자  (0) 2024.03.20
java 9일차 _01. 다형성  (0) 2024.03.20
java 9일차 _ 8일차 리뷰  (0) 2024.03.20
java 8일차 _03. 다형성  (0) 2024.03.19