- [Java]-toString()이란? 목차
객체가 가지고 있는 정보나 값들을 문자열로 만들어 리턴하는 메소드이다. !
"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 |