인프런 커뮤니티 질문&답변

윾민님의 프로필 이미지
윾민

작성한 질문수

김영한의 실전 자바 - 중급 2편

정렬3 - Comparable, Comparator

List인터페이스를 sout 할때 질문입니다.

작성

·

146

0

링크드리스트의 list를 그냥 System.out.println(list); 했을때, 아래의 내용이 맞는지 궁금합니다.

LinkedListtoString 메서드는 AbstractCollection 클래스에서 오버라이딩된 toString 메서드를 상속받아 사용합니다.

답변 1

1

저도 질문글 보니 궁금해서 디버깅하면서 뒤져봤네요.

결론적으로는 AbstractCollection 클래스의 의 toString 메서드를 사용하는게 맞습니다.

List<String> list = new LinkedList<>();
list.add("data1");
System.out.println("list = " + list);
  1. list를 문자열로 반환하기 위해서 String class의 valueOf 실행.

  2. 여기서 Object의 toString 메서드 실행.

  3. toString 실행 시, 해당 Object의 오버라이딩 된 toString, AbstractCollection.toString 실행

이런 순서로 이뤄지는걸로 확인하였습니다.

윾민님의 프로필 이미지
윾민

작성한 질문수

질문하기