▸JAVA/기본 문법

객체 값 출력_toString 메소드 오버라이딩

코데방 2019. 12. 10.
728x90

[ toString 메소드 ]

  • 기본 상속된 Object 클래스의 메소드
  • 객체가 가진 정보를 문자열로 만들어 출력
  • 인스턴스 출력 시 Object.hashCode()로 생성된 해시값을 문자열로 반환시켜줌

인스턴스의 값을 출력할 때 그냥 인스턴스를 넣거나 기본 toString()메소드를 사용하면 해시값을 포함한 이상한 값이 출력됩니다. 만들어 둔 인스턴스의 정보를 편하게 출력하기 위해 toString()메소드를 오버라이딩 해두면 편리합니다.

 


 

먼저 기본 Object.toString()를 사용해서 인스턴스 하나를 출력해본 결과입니다. 그냥 인스턴스만 넣어도 동일하게 작동합니다.

 

package study.first;

public class Main {

	public static void main(String[] args) {

		Sub s1 = new Sub();
		s1.a = "abc";
				
		System.out.println(s1);
		System.out.println(s1.toString());	
	}
}


/* Sub 클래스 */
class Sub {

	int x;
	int y;
	String a;	

 


 

이클립스에서 만들어주는 toString() 오버라이딩 메소드입니다. 보기 편한대로 바꿔서 써도 됩니다. 디버깅할때나 값을 출력해서 보고 싶을 때 매우 편하게 사용할 수 있습니다.

 

package study.first;

public class Main {

	public static void main(String[] args) {

		Sub s1 = new Sub();
		s1.a = "abc";
				
		System.out.println(s1);
		System.out.println(s1.toString());	
	}
}


/* Sub 클래스 */
class Sub {

	int x;
	int y;
	String a;
	@Override
	public String toString() {
		return "Sub [x=" + x + ", y=" + y + ", a=" + a + "]";
	}	
}
728x90

댓글

💲 추천 글