์๋ฐ toString ๋ฉ์๋
toString
Object
Java์ ๋ฉ์๋๋ ์ฌ๋์ด ์ฝ์ ์ ์๋ ํ์์ผ๋ก ๊ฐ์ฒด( )์ ๋ํ ๋ช
ํํ๊ณ ์ถฉ๋ถํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค . ์ ์ ํ ๋ฉ์๋ ์ฌ์ ์๋ ๊ท์คํ๊ณ ์ค์ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ์ฌ Java ํ๋ก๊ทธ๋จ์ ๋ก๊น
ํ๊ณ ๋๋ฒ๊น
ํ๋toString
๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค . ํด๋์ค ์ ์ ์๋์ด ์๊ณ ๊ธฐ๋ณธ ๊ตฌํ์์๋ ๋ง์ ์ ๋ณด๋ฅผ ์ ๊ณตํ์ง ์์ผ๋ฏ๋ก ํญ์ ํ์ ํด๋์ค์์ ์ด ๋ฉ์๋๋ฅผ ์ฌ์ ์ํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค. ์ค์ ๋ก, ๋๋ ์ ํ์ ์ค์ํ๊ฑฐ๋ ์ผ๋ฐ์ ์ธ ํด๋์ค๋ฅผ ์์ฑํ๋ ๊ฒฝ์ฐ ํญ์ Java ์ equals , hashCode , CompareTo ๋ฐ ๋ฉ์๋ ๋ฅผ ์ฌ์ ์ํ์ธ์. ๊ธฐ๋ณธ์ ์ผ๋ก ๊ตฌํ์ ํ์์ผ๋ก ์ถ๋ ฅ์ ์์ฑํฉ๋๋ค . ์๋ฅผ ๋ค์ด ํด๋์ค ๋ฉ์๋๋ test.Country@18e2b22๋ฅผ ์ธ์ํฉ๋๋ค. ์ฌ๊ธฐ์ 18e2b22๋ 16์ง์๋ก ๋ ๊ฐ์ฒด์ ํด์ ์ฝ๋์
๋๋ค. hashCode ๋ฉ์๋๋ฅผ ํธ์ถํ๋ฉด 260943370 ์ด ๋ฐํ๋ฉ๋๋ค. 18e2b22์ ํด๋นํ๋ 10์ง์ ์
๋๋ค. ์ด ์ ๋ณด๋ ๋ฌธ์ ๋ฅผ ๊ฒ์ํ ๋ ํนํ ์ ์ฉํ์ง ์์ต๋๋ค. ๋คํธ์ํฌ ์ฐ๊ฒฐ์์ ๋ฌธ์ ๋ฅผ ์ฐพ์์ผ ํ๋ ์ค์ ์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์์คํ
์ด ์ด๋ค ํธ์คํธ์ ํฌํธ์ ์ฐ๊ฒฐํ๋ ค๊ณ ํ๋์ง ์๊ณ ์ถ๊ณ ๊ธฐ๋ณธ ์ ๋ณด ๋ง ์ธ์ ํ๋์ง ์ฌ๋ถ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ค์ ๋ฌธ์ ๋ฅผ ์์ํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ์ง๋ง ์ฌ์ ์๋ ๊ตฌํ์ ํตํด ํธ์คํธ ์ด๋ฆ ๋ฐ ํฌํธ ๋ฒํธ์ ๊ฐ์ ์ ์ฉํ ์ ๋ณด๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค. ์ด Java ํํ ๋ฆฌ์ผ์์๋ ์ฝ๋ ์์ ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉ์๋ ์ฌ์ ์์ ๋ํ ๋ช ๊ฐ์ง ํ์ ์ ๊ณตํฉ๋๋ค . toString()
java.lang.Object
Order
Trade
Employee
toString
toString
package.class@hashCode
toString()
toString()
Country
Socket
ServerSocket
toString
toString
toString
Java์์ toString ๋ฉ์๋๋ฅผ ์ฌ์ ์ํ๋ ๋ฐฉ๋ฒ:
์์ ๊ฐ ๋์ ํ์์ด ์ง์ ๋ ๋ ์ง(์: ์ผ/์/๋ )๋ฅผ ์ธ์ํฉ๋๋ค. ์ด๋ Java ๋ฉ์๋๋ฅผ ๋์ฒดํ ๋ ๋งค์ฐ ์ ์ฉํ ํํธ์ ๋๋คtoString
. ์ผ๋ฐ toString()
ํด๋์ค๋ java.util.Date
ํ์ํ๋ ๋ ์ง๋ฅผ ์ถ๋ ฅํ์ง ์์ผ๋ฉฐ ํญ์ ํ์ํ์ง ์์ ๋ง์ ์ธ๋ถ ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค. ๋ถ๋ถ DateFormat์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ , ์ฆ ์ ํ๋ฆฌ์ผ์ด์
์ dd-MM-yy๊ฐ ์๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ํ์ ๋์ ์ด ํ์์ ํ์ธํ๊ณ ์ถ์ ๊ฒ์
๋๋ค. IDE๋ ์ผ๋ฐ์ ์ผ๋ก ํ์ํ๋ ์ถ๋ ฅ์ ์์ฑํ์ง ์์ผ๋ฉฐ Date
์ด๋ ์ฌ์ฉ์๊ฐ ์ง์ ์ํํด์ผ ํ๋ ์์
์ด์ง๋ง ๊ทธ๋งํ ๊ฐ์น๊ฐ ์์ต๋๋ค. Java ํ์ ์ง์ ์ ๋ํ ์์ธํ ๋ด์ฉ์ Java์์ ddMMyy ํ์์ผ๋ก ๋ ์ง๋ฅผ ์ธ์ํ๋ ๋ฐฉ๋ฒ์ ์ฝ์ด๋ณด์ธ์ Date
. ์ด๋ฅผ ์ํด SimpleDataFormat ํด๋์ค ๋๋ Joda Date ์๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์๋ ์์ต๋๋ค .
toString ํ์ ๋ฌธ์ํ
๋ฉ์๋๊ฐ ๋ฐ์ดํฐ๋ฅผ ํ๋=๊ฐ์ผ๋ก ์ถ๋ ฅํ์ง ์๋ ๊ฒฝ์ฐ ํนํ Employee ๋๋ Student์ ๊ฐ์ ์ค์ํ ๊ฐ์ฒด์ ๊ฒฝ์ฐtoString()
์ถ๋ ฅ ํ์์ ๋ฌธ์ํํ๋ ๊ฒ์ด ์ข์ต๋๋ค . toString
์๋ฅผ ๋ค์ด toString()
ํด๋์ค ๋ฉ์๋๊ฐ ะ ะฐะฑะพัะฝะธะบ(Employee)
" John-101-Sales-9846387321 "์ ์ธ์ํ๋ ๊ฒฝ์ฐ ํ์์ "name-id-department-contact"๋ก ์ง์ ํ๋ ๊ฒ์ด ์ข์ ๋ฐฉ๋ฒ์ด์ง๋ง ๋์์ ํด๋ผ์ด์ธํธ๊ฐ ๊ฐ์ ธ์ค๋ ๊ฒ์ ํ์ฉํ์ง ์์ต๋๋ค. ๊ฐ์ฒด ํํ ์์ ์ป์ ์ ๋ณด๋ ์ทจ์ฝํ๊ณ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ธฐ ์ฌ์ฐ ๋ฏ๋ก ํด๋ผ์ด์ธํธ ๋ ํญ์ , ๋ฑ ์ toString()
๋ฐ์ดํฐ ๊ฒ์์ ์ํ ์ ์ ํ ๋ฉ์๋๋ฅผ ์ ๊ณตํด์ผ ํฉ๋๋ค . ๋ฐ๋ผ์ ํด๋ผ์ด์ธํธ๋ ํญ์ ๋ฐ์ดํฐ๋ฅผ ์ป๊ธฐ ์ํ ๊นจ๋ํ ๊ฒฝ๋ก๋ฅผ ๊ฐ์ ธ์ผ ํฉ๋๋ค. ์ ๋ณด. getName()
getId()
getContact()
toString()
StringBuilder๋ฅผ ์ฌ์ฉํ์ฌ toString()์ ์ถ๋ ฅ์ ๊ตฌ์ฑํฉ๋๋ค.
toString()
Java๋ก ๋ฉ์๋์ ๋ํ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒฝ์ฐ StringBuilder๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ณ ์์ฑ์ ์ถ๊ฐํ์ญ์์ค. Eclipse , Netbeans ๋๋ IntelliJ์ ๊ฐ์ IDE๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ + ์ฐ์ฐ์ ๋์ StringBuilder
and ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์์ฑํ๋ ๊ฒ๋ ์ข์ ๋ฐฉ๋ฒ์
๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก Eclipse์ Netbeans๋ ๋ชจ๋ ์ฐ๊ฒฐ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์์ฑ๋ฉ๋๋ค. append()
toString
toString
@Override ์ฃผ์ ์ฌ์ฉ
Java์์ ๋ฉ์๋ ์ฌ์ ์๋ฅผ ์ฌ์ฉํ๋@Override
๊ฒ์ ์ธ์ด์ ๋ชจ๋ฒ ์ฌ๋ก ์ค ํ๋์
๋๋ค. equals()
๊ทธ๋ฌ๋ ์ด ํํธ๋ ๋ฐ ๋ฉ์๋ ๋ฅผ ์ฌ์ ์ํ๋ ๊ฒฝ์ฐ๋งํผ ์ค์ํ์ง ์์ต๋๋ค compareTo()
. ์ฌ์ ์ํ๋ ๋์ ์ค๋ฒ๋ก๋ํ๋ฉด ๊ณ์ฐํ๊ธฐ ์ด๋ ค์ด ๋ฏธ๋ฌํ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์
๋๋ค. ์ด์จ๋ ์ฃผ์์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค @Overrride
.
๋ฐฐ์ด ๊ฐ์ฒด๋ฅผ ์ธ์ํ๋ ๋์ ๋ฐฐ์ด์ ๋ด์ฉ์ ์ธ์ํฉ๋๋ค.
๋ฐฐ์ด์ Java์ ๊ฐ์ฒด์ด์ง๋ง ๋ฉ์๋๋ฅผ ์ฌ์ ์ํ์ง ์์ผ๋ฉฐtoString
๋ฐฐ์ด์ ์ธ์ํ ๋ ๋ฐฐ์ด์ ๋ด์ฉ์ ๋ณด๊ณ ์ถ๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ณธ ์ถ๋ ฅ ํ์์ ๊ทธ๋ค์ง ์ ์ฉํ์ง ์์ต๋๋ค. ๊ทธ๊ฑด ๊ทธ๋ ๊ณ , ์ด๊ฒ์ด ๋น๋ฐ๋ฒํธ์ ๊ฐ์ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํด String๋ณด๋ค char[] ๋ฐฐ์ด์ ์ ํธํ๋ ๋ ๋ค๋ฅธ ์ด์ ์
๋๋ค. ๋ฐฐ์ด์ ๋ด์ฉ์ ์ธ์ํ๋ ๊ฒ์ด ํด๋ผ์ด์ธํธ์๊ฒ ๋์์ด ๋๋์ง ์ฌ๋ถ๋ฅผ ์๊ฐ์ ๋ค์ฌ ์ดํด๋ณด๊ณ , ๊ทธ๊ฒ์ด ํ๋นํ๋ค๋ฉด ๊ฐ์ฒด ์์ฒด ๋์ ๋ฐฐ์ด์ ๋ด์ฉ์ ์ธ์ํ์ญ์์ค. ์ฑ๋ฅ์์ ์ด์ ๋ก ๋ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์ ์ฅํ๋ ๋์ Collection
์ด๋ฌํ ArrayList
๋๋ HashSet์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค Array
.
๋ณด๋์ค ํ
Java์ ๋ฉ์๋ ์ฌ์ ์์ ๋ํ ์ถ๊ฐ ํtoString
.
-
์ถ๋ ฅ์
toString
์ฌ๋ฌ ์ค๋ก ์ธ์ํ๊ฑฐ๋ ๊ธธ์ด์ ๋ฐ๋ผ ํ ์ค๋ก ์ธ์ํฉ๋๋ค. -
toString
์ฆ,package.class
์คํด๋ฅผ ํผํ๊ธฐ ์ํด ํํ์ ์ ๊ทํ๋ ํด๋์ค ์ด๋ฆ์ ํฌํจํฉ๋๋ค . -
Null ๊ฐ์ ๊ฑด๋๋ฐ๊ฑฐ๋ ํ์ํ ์ ์์ง๋ง ํ์ํ๋ ๊ฒ์ด ๋ ์ข์ต๋๋ค. ๋๋ก๋ NullPointerException
null
๊ณผ ๊ฐ์ด ์ผ๋ถ ์ฌ๊ฑด ์ค์ ์ด๋ค ํ๋๊ฐ ์กด์ฌํ๋์ง ๋ณด์ฌ์ฃผ๊ธฐ ๋๋ฌธ์ ์ ์ฉํฉ๋๋ค . -
ํค-๊ฐ ํ์์ ์ฌ์ฉํ์ธ์. ์๋ฅผ ๋ค์ด
member.name=member.value
๋๋ถ๋ถ์ IDE๊ฐ ์ด๋ฅผ ์ง์ํฉ๋๋ค. -
์์ ํด๋์ค์ ํ์ํ ์ ๋ณด๋ฅผ ์ ๊ณตํด์ผ ํ๋ค๊ณ ์๊ฐ๋๋ ๊ฒฝ์ฐ ์์ ๋ฉค๋ฒ๋ฅผ ํฌํจํฉ๋๋ค.
-
๋๋ก๋ ๋น๋ ํ ํ๋ฆฟ ์ ์์ ๋ณด์ฌ์ค ๊ฒ์ฒ๋ผ ๊ฐ์ฒด์ ๋ง์ ์ ํ์ ๋ฐ ํ์ ๋งค๊ฐ๋ณ์๊ฐ ํฌํจ๋์ด ์์ ์ ์์ต๋๋ค . ์ด๋ ๋ชจ๋ ํ๋๋ฅผ ์ธ์ํ๋ ๊ฒ์ด ๊ฑฐ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค. ์ด ๊ฒฝ์ฐ ํนํ ์ ํ์ ํ๋๊ฐ ์๊ธฐ ๋๋ฌธ์ ํ์ ํ๋๋ง ์ธ์ํ ์ ์์ต๋๋ค.
GO TO FULL VERSION