스페이스x
232
2020-05-23 17:15:25
2
174

자바 초고수님들 도와주세요


 


메인함수 마지막라인에서 println(p)했는데


왜 p.toString()이 호출되는지 알수있을까요

0
0
  • 답변 2

  • B급 개발자
    634
    2020-05-23 18:44:53 작성 2020-05-23 18:45:54 수정됨

    System.out.print 메서드는 자바 API 중에 대표적인 오버로드로 구현된 메서드입니다. 오버로드란 다양한 타입의 파라미터를 받으면서 동일한 리턴값을 보장하도록 구현하는 기법을 의미합니다. 즉 System.out.print 메서드는 String, int, boolean 과 같은 primitive 타입 뿐이 아니라 객체같은 커스텀 타입도 텍스트로 출력하게끔 해 줍니다. 그런데 String이나 int는 출력할 수 있는 값이 존재하지만 객체는 어떤 정보를 출력해야 할까요? 이때 내부적으로 호출되는 메서드가 각 객체의 toSting 메서드입니다. 모든 객체는 이 toString 메서드를 상속받게 되는데 오버라이드 함으로써 출력시 이 객체를 표시할 수 있는 정보를 정의 할 수 있는 겁니다.

    1
  • 스페이스x
    232
    2020-05-23 20:02:55

    흠...ㅋㅋ 말이 어렵지만 답변감사합니다


    오버라이딩은 이해했는데 오버로드가 힘드네요 다시 공부해보겠습니다 감사합니다

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.