๐จ ๋ฌธ์ ์ํฉ
Java์์ System.out.println(menuItem);์ ์คํํ์ ๋, ๊ธฐ๋ํ ์ถ๋ ฅ์ด ๋์ค์ง ์๊ณ ๊ฐ์ฒด์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ ์ถ๋ ฅ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค
๐ก ์์ ๋์
โ
System.out.println(menuItem); ์คํ ์, ๊ฐ์ฒด์ ์ ๋ณด(๋ฉ๋ด๋ช
, ๊ฐ๊ฒฉ, ์ค๋ช
)๊ฐ ๋ณด๊ธฐ ์ข์ ํ์์ผ๋ก ์ถ๋ ฅ๋์ด์ผ ํจ
โโ ๋ฌธ์ ๋ฐ์ ์ ์ถ๋ ฅ
MenuItem@5e91993f
โ ์ฌ๋ฐ๋ฅธ ์ถ๋ ฅ ์์
ShackBurger | W 6.9 | ํ ๋งํ , ์์์ถ, ์์์ค๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ
๐ง ๋ฌธ์ ์์ธ ๋ถ์
๐ System.out.println;์ ์คํํ๋ฉด ๋ด๋ถ์ ์ผ๋ก toString() ๋ฉ์๋๋ฅผ ํธ์ถํจ
๐ ํ์ง๋ง toString()์ ์ง์ ์ ์ํ์ง ์์ผ๋ฉด Object ํด๋์ค์ ๊ธฐ๋ณธ toString()์ด ํธ์ถ๋จ
์ด๋์ ์ฝ๋)
public class MenuItem {
String name;
double price;
String explanation;
MenuItem(String name, double price, String explanation) {
this.name = name;
this.price = price;
this.explanation = explanation;
}
๐ toString() ๋ฉ์๋๊ฐ ์๊ธฐ ๋๋ฌธ์ System.out.println(menuItem);์ ์คํํ๋ฉด Object์ ๊ธฐ๋ณธ toString()์ด ํธ์ถ๋จ
โ๏ธ ํด๊ฒฐ ๋ฐฉ๋ฒ
โ
toString() ๋ฉ์๋๋ฅผ Overrideํ์ฌ ๋ณด๊ธฐ ์ข์ ํ์์ผ๋ก ์ถ๋ ฅํ๋๋ก ๋ณ๊ฒฝ
์์ ๋ ์ฝ๋ โ๏ธ
@Override
public String toString() {
return name + " | W " + price + " | " + description;
}
๐ toString()์ Overrideํ๋ฉด System.out.println(menuItem); ์คํ ์ ์ํ๋ํ์์ผ๋ก ์ถ๋ ฅ
โ ์ถ๋ ฅ ์์
ShackBurger | W 6.9 | ํ ๋งํ , ์์์ถ, ์์์ค๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ
๐ ์ต์ข ๊ฒฐ๋ก
โ๏ธ ๋ฌธ์ ์ํฉ
: System.out.println(menuItem); ์คํ ์, ๊ฐ์ฒด์ ์ ๋ณด๋ฅผ ์ถ๋ ฅํ์ง ์๊ณ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ ์ถ๋ ฅ๋จ
โ๏ธ ์์ธ
: toString()์ Overrideํ์ง ์์๊ธฐ ๋๋ฌธ์, Object์ ๊ธฐ๋ณธ toString()์ด ํธ์ถ๋จ
โ๏ธ ํด๊ฒฐ ๋ฐฉ๋ฒ
: toString()์ Overrideํ์ฌ ๊ฐ์ฒด ์ ๋ณด๋ฅผ ๋ณด๊ธฐ ์ข์ ํ์์ผ๋ก ์ถ๋ ฅํ๋๋ก ์์
๐ System.out.println(menuItem); ์คํ์ ์ ๋ณด๋ฅผ ์ํ๋ ํ์์ผ๋ก ์ถ๋ ฅ ๊ฐ๋ฅ
๐ toString()์ ์ ํ์ฉํ๋ฉด ๋๋ฒ๊น
๊ณผ ๋ก๊น
์ด ์ฌ์์ง
๐ ๋ฐฐ์ด์
โด๏ธ toString()์ Overrideํ์ง ์์ผ๋ฉด Object์ ๊ธฐ๋ณธ toString()์ด ํธ์ถ๋์ด ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ ์ถ๋ ฅ๋๋ค
โด๏ธ toString()์ ์ ์ ํ ์ ํ์ฉํ์ฌ ๊ฐ์ฒด ์ ๋ณด๋ฅผ ๋ณด๊ธฐ ์ข์ ํํ๋ก ์ถ๋ ฅํ๊ธฐ
โด๏ธ ํ์ํ ๋ฉ์๋๋ฅผ Overrideํ๋ ์ต๊ด์ ๋ค์ด๊ธฐ