ITEM 12: overriding toString
Object์ ๊ธฐ๋ณธ toString
๋ฉ์๋๋ ๋จ์ํ ํด๋์ค_์ด๋ฆ@16์ง์ํด์์ฝ๋
๋ฅผ ๋ฐํํ๋ค.
toString
์ ์ผ๋ฐ ๊ท์ฝ์ ๋ค์๊ณผ ๊ฐ๋ค.
๊ฐ๊ฒฐํ๋ฉด์ ์ฌ๋์ด ์ฝ๊ธฐ ์ฌ์ด ํํ์ ์ ์ตํ ์ ๋ณด๋ฅผ ๋ฐํ
๋ชจ๋ ํ์ ํด๋์ค์์ ์ด ๋ฉ์๋(
toString
)๋ฅผ ์ฌ์ ์ํ๋ผ
toString
์ ์ ๊ตฌํํ ํด๋์ค๋ ๋๋ฒ๊น
์ ์ ์ฉํ๋ฉฐ, ์ง์ ํธ์ถํ์ง ์๋๋ผ๋ ๋ค๋ฅธ ์ด๋๊ฐ(println
, printf
, ๋ฌธ์์ด ์ฐ๊ฒฐ ์ฐ์ฐ์, assert
์ ์๋์ผ๋ก ํธ์ถ)์์ ์ฐ์ผ ๊ฒ์ด๋ค.
๋ง์ฝ toString
์ ์ ๋๋ก ์ฌ์ ์ํ๋ค๋ฉด ๋ค์ ์ฝ๋๋ง์ผ๋ก๋ ๋ก๊ทธ๋ฅผ ์ถฉ๋ถํ ๊ธฐ๋กํ ์ ์๋ค.
toString
์ ์ ์ ์ํ๋ฉด ์ปฌ๋ ์
๊ณผ ๊ฐ์ด ์ด ์ธ์คํด์ค๋ฅผ ํฌํจํ๋ ๊ฐ์ฒด์์ ์ ์ฉํ๊ฒ ์ฐ์ธ๋ค.
toString
์ ๊ทธ ๊ฐ์ฒด๊ฐ ๊ฐ์ง ์ฃผ์ ์ ๋ณด๋ฅผ ๋ชจ๋ ๋ฐํํ๋ ๊ฒ์ด ์ข๋ค.
ํ์ง๋ง ๊ฐ์ฒด๊ฐ ๊ฑฐ๋ํ๊ฑฐ๋ ๊ฐ์ฒด์ ์ํ๊ฐ ๋ฌธ์์ด๋ก ํํํ๊ธฐ์ ์ ํฉํ์ง ์๋ค๋ฉด ๋ฌด๋ฆฌ๊ฐ ์๋ค. ์ด๋ฐ ์ํฉ์๋ ์์ฝ ์ ๋ณด๋ฅผ ๋ด๋ ๊ฒ์ด ์ข๋ค.
ํฌ๋งท์ ๋ช ์ํ๋ ์๋๋ ์๋๋ ๋ช ํํ ๋ฐํ์ผํ๋ค.
toString
์ด ๋ฐํํ ๊ฐ์ ํฌํจ๋ ์ ๋ณด๋ฅผ ์ป์ด์ฌ ์ ์๋ API๋ฅผ ์ ๊ณตํ์
์๋ฅผ๋ค์ด ์์ ์์ฑํ PhoneNumber
ํด๋์ค๋ ์ง์ญ ์ฝ๋, ํ๋ฆฌํ์ค, ๊ฐ์
์ ๋ฒํธ์ฉ ์ ๊ทผ์๋ฅผ ์ ๊ณตํด์ผ ํ๋ค. ๊ทธ๋ ์ง ์๋ค๋ฉด ์ด ์ ๋ณด๊ฐ ํ์ํ ํ๋ก๊ทธ๋๋จธ๋ toString์ ๋ฐํ๊ฐ์ ํ์ฑํด์ผํ๋ฉฐ, ์ด๋ ์ฑ๋ฅ์ด ๋๋น ์ง ๋ฟ๋๋ฌ, ํ์ํ์ง ์์ ์์
์ด๋ค.
์ ์ ์ ํธ๋ฆฌํฐ ํด๋์ค๋ toString
์ ์ ๊ณตํ ํ์๊ฐ ์์ผ๋ฉฐ, ๋๋ถ๋ถ์ ์ด๊ฑฐํ์
๋ ์๋ฐ๊ฐ ์ด๋ฏธ ์๋ฒฝํ toString
์ ์ ๊ณตํ๋ฏ๋ก ๋ฐ๋ก ์ ์ ์ํ์ง ์์๋ ๋๋ค.
Last updated