sin prisa pero sin pausa

[JAVA] Object.toString() 본문

비전공 거북이 표류기

[JAVA] Object.toString()

EstherDmt 2021. 4. 2. 20:20
반응형

1. Movie라는 클래스를 만들었다

 

 

2. Movie2에 Movie1의 인스턴스 movie와 movie2를 만들고 출력구문을 썼다. 근데...

 

 

3. 어째서인지 movie2는 toString 메소드를 써주지도 않았는데 toString 메소드 형식에 맞게 프린트 되었다

   원래라면 movie2가 참조하고 있는 주소만 나와야 하는 거 아닌가?

   여기서부터 고민하기 시작했다. 왜일까. 출력 형식은 Movie 생성자에 포함되어 있지도 않은데 왜 출력이 가능할까.

 

o

알아본 결과..

(이해하기 쉽게 파파고를 돌려왔다)=========================================================================

개체의 문자열 표현을 반환합니다. 일반적으로 toString 메서드는 이 개체를 "텍스트적으로" 나타내는 문자열을 반환합니다.

결과는 사람이 읽기 쉬운 간결하지만 유익한 표현이어야 한다.     든 하위 클래스가 이 메서드를 재정의하는 것이 좋습니다.  


classObject에 대한 ToString 메서드는 객체가 인스턴스인 클래스의 이름, at-sign 문자 '@' 및 객체의 해시 코드의 부호 없는 16진수 표현으로 구성된 문자열을 반환합니다. 즉, 이 메서드는 다음 값과 동일한 문자열을 반환합니다.

===================================================================================================

 

toString()은 Object 클래스 안에 존재하는 메소드였으며 인스턴스가 실행될 때 자동으로 동작한다. 

이 toString()을 오버라이딩 없이 그냥 쓰게 되면 저 위에 가운데에 써져있는

원래 순수한 Object 클래스 안의 toString()의 값이 출력되어 버리기 때문에 

  리는 우리가 원하는 출력 형식을 오버라이딩(1번 사진 참고) 해주면 된다.   

반응형