item 12 leekyunghee - JAVA-JIKIMI/EFFECTIVE-JAVA3 GitHub Wiki

toString์„ ํ•ญ์ƒ ์žฌ์ •์˜ํ•˜๋ผ

  • ํด๋ž˜์Šค_์ด๋ฆ„@16์ง„์ˆ˜๋กœ_ํ‘œ์‹œํ•œ_ํ•ด์‹œ์ฝ”๋“œ ๋ฅผ ๋ฐ˜ํ™˜
  • ๊ฐ„๊ฒฐํ•˜๋ฉด์„œ ์‚ฌ๋žŒ์ด ์ฝ๊ธฐ ์‰ฌ์šด ํ˜•ํƒœ์˜ ์œ ์ตํ•œ ์ •๋ณด๋ฅผ ๋ฐ˜ํ™˜
  • ๋ชจ๋“  ํ•˜์œ„ ํด๋ž˜์Šค์Šค์—์„œ ์ด ๋ฉ”์„œ๋“œ๋ฅผ ์žฌ์ •์˜ํ•˜๋ผ
  • toString์„ ์‚ฌ์šฉํ•œ ์‹œ์Šคํ…œ์€ ๋””๋ฒ„๊น…ํ•˜๊ธฐ ์‰ฝ๋‹ค.

toString์„ ๊ตฌํ˜„ํ•  ๋•Œ๋ฉด ๋ฐ˜ํ™˜๊ฐ’์˜ ํฌ๋งท์„ ๋ฌธ์„œํ™”ํ• ์ง€ ์ •ํ•ด์•ผํ•œ๋‹ค.

  • ๋ช…์‹œํ•œ ํฌ๋งท์— ๋งž๋Š” ๋ฌธ์ž์—ด๊ณผ ๊ฐ์ฒด๋ฅผ ์ƒํ˜ธ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ •์  ํŒฉํ† ๋ฆฌ๋‚˜ ์ƒ์„ฑ์ž๋ฅผ ํ•จ๊ป˜ ์ œ๊ณตํ•ด์ฃผ๋ฉด ์ข‹๋‹ค.
  • ํฌ๋งท์„ ๋ช…์‹œํ•˜๋“  ์•„๋‹ˆ๋“  ์—ฌ๋Ÿฌ๋ถ„์˜ ์˜๋„๋Š” ๋ช…ํ™•ํžˆ ๋ฐํ˜€์•ผ ํ•œ๋‹ค.

ํฌ๋งท ๋ช…์‹œ ์—ฌ๋ถ€์™€ ์ƒ๊ด€์—†์ด toString์ด ๋ฐ˜ํ™˜ํ•œ ๊ฐ’์— ํฌํ•จ๋œ ์ •๋ณด๋ฅผ ์–ป์–ด์˜ฌ ์ˆ˜ ์žˆ๋Š” API๋ฅผ ์ œ๊ณตํ•˜์ž

์ •์  ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค๋Š” toString์„ ์ œ๊ณตํ•  ์ด์œ ๊ฐ€ ์—†๋‹ค.

๋Œ€๋ถ€๋ถ„์˜ ์—ด๊ฑฐํƒ€์ž…๋„ ์ž๋ฐ”๊ฐ€ ์ด๋ฏธ toString์„ ์ œ๊ณตํ•˜๋‹ˆ ๋”ฐ๋กœ ์žฌ์ •์˜ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

ํ•ต์‹ฌ ์ •๋ฆฌ

์ƒ์œ„ ํด๋ž˜์Šค์—์„œ ์ด๋ฏธ ์•Œ๋งž๊ฒŒ ์žฌ์ •์˜ํ•œ ๊ฒฝ์šฐ๋Š” ์˜ˆ์™ธ๋กœ ํ•˜๊ณ  ๋ชจ๋“  ๊ตฌ์ฒด ํด๋ž˜์Šค์—์„œ Obejct์˜ toString์„ ์žฌ์ •์˜ํ•˜์ž.