티스토리 뷰

Java

[Java]-toString()이란?

Xion 2019. 10. 27. 18:24

객체가 가지고 있는 정보나 값들을 문자열로 만들어 리턴하는 메소드이다. !
"String" 클래스 객체의 "toString"메소드는 자신이 가진 값을 그대로 리턴해주고,

"File"클래스 객체의 "toString"메소드는 자신이 가진 해당 경로값을 리턴해 주고있습니다.

 

toString() 메소드를 재정의해서 사용

 

 

( 재정의 : 정의되어 있는 변수나 배열 요소가 다시 정의되는 것 )

 

아까전 의미없던 값 "Human"클래스로 재정의 해보겠습니다.

 

콘텍스트 메뉴로 오버라이드할 메소드를 찾을수 있습니다.

 

 

ok를 누르면

 

 

오러라이딩 함수가 생성되는데

이 함수를 재정의 하여 사용하도록 하겠습니다

 

 

빨간 네모처럼 나이를 리턴하도록 만들고

실제로 사용해 보도록 하겠습니다.

 

 

 

 

"Human"클래스의 객체를 생성하여 "toString" 메소드를 사용해 보았습니다.

우리가 재정의 했던 "toString"메소드가 잘 호출 되었음을 출력값을 통해 알 수가 있습니다.

 

 

 

 

 

 

 

toString() 메소드는 자동으로 호출된다


toString 매소드는 자동으로 호출 됩니다.

 

우리가  자주 사용하던 "String" 클래스 객체를 선언하여

"toString"메소드 없이 그냥 객체 자체로 변수에 담긴 내용을 가져와 사용했었습니다.

 

 

 

 

 

 

위 코드를 보시면 "str"이라는 "String"클래스의 객체 입니다.

 

그런데 신기하게도 객체임에도 불구하고

"str"독단적으로 저렇게 사용 되어지고 있습니다.

 

바로 이 지점에서 "toString"이 자동으로 호출 되는 것입니다.

이것을 증명하기 위해서 우리가 구현한 "Human"클래스로 한번 시도 해보겠습니다.

 

 

 

 

 

 

아까 만들었던 소스에서 "toString"만 제거 하였습니다.

출력 결과는 잘나오고 있는걸 확인할수 있습니다.

 

 

 

 

 



출처: https://backback.tistory.com/68 [Back Ground]

'Java' 카테고리의 다른 글

[Java]ConcurrentLinkedQueue란?  (0) 2020.05.05
[Java] -Files probeContentType()이란?  (0) 2020.03.19
[Java]-Vector와 ArrayList의 차이  (0) 2019.10.27
[Java]-Comparable Comparator 차이  (0) 2019.10.26
[Java]-HashSet이란  (0) 2019.10.26