배열을 출력하기 위해서, toString()
을 아래와 같이 작성하면
array.toString();
항상 Arrays.toString(array)
으로 바꾸라는 문구가 뜬다.
array.toString()
과 Arrays.toString(array)
의 차이점은 무엇이며, 왜 바꿔야 하는지에 대해서 알아보자.
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
다른 객체들도 toString을 오버라이딩하여 사용하고 있다.
Interger는 Integer.toString()
처럼 쓰진 않지만, Integer 클래스에 선언되어 있다.
✅ 즉, 배열의 주소값이 아닌 내부 요소들을 출력하고 싶다면 Object 클래스의 toString()을 오버라이딩한 Arrays.toString을 사용해야 한다!