강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của linuxmen
linuxmen

câu hỏi đã được viết

Làm chủ Java từ cơ bản cùng thầy Eun-jong (Nhập môn lập trình Java Do it) - Phần 2 (Cấp độ Master)

Lập trình Generic có thể chứa đựng bất cứ thứ gì

Generic 강의중 궁금한점

Viết

·

374

0

GenericPrinter<P> powderPrinter = new GenericPrinter<>();

powderPrinter.setMaterial(new Powder());

System.out.println(powderPrinter);

이렇게 출력하면 "재료는 Powder 입니다" 가 출력되는데

(Powder class 안에

public String toString(){

return "재료는Powder 입니다"

} )문장에 의해서...

출력된다고 하는데 왜 그런지 모르겠습니다.

System.out.println(powderPrinter); 어떻게 Powder class 안에

public String toString() 호출하는지...모르겠습니다

java객체지향알고리즘

Câu trả lời 1

1

eunjong님의 프로필 이미지
eunjong
Người chia sẻ kiến thức

이 부분은 Object 클래스 부분을 보시면 됩니다. 원래 참조 변수를 System.out.println(참조변수) 메서드의 매개변수로 쓰면 toString()이 호출되고 이때 클래스에 toString()메서드가 오버라이딩 된 경우에는 해당 메서드가 호출됩니다. String, Integer 클래스들의 value 값이 출력되는 이유와 같습니다. Object 클래스 강의를 보시면 자세히 나와 있습니다.

Hình ảnh hồ sơ của linuxmen
linuxmen

câu hỏi đã được viết

Đặt câu hỏi