JavaRush /Java Blog /Random-KO /Java์—์„œ toString() ๋ฉ”์„œ๋“œ๋ฅผ ์žฌ์ •์˜ํ•˜๊ธฐ ์œ„ํ•œ 10๊ฐ€์ง€ ํŒ(1๋ถ€)
Ku6ep
๋ ˆ๋ฒจ 35

Java์—์„œ toString() ๋ฉ”์„œ๋“œ๋ฅผ ์žฌ์ •์˜ํ•˜๊ธฐ ์œ„ํ•œ 10๊ฐ€์ง€ ํŒ(1๋ถ€)

Random-KO ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
Java์—์„œ toString() ๋ฉ”์„œ๋“œ๋ฅผ ์žฌ์ •์˜ํ•˜๋Š” 10๊ฐ€์ง€ ํŒ - ToStringBuilder Netbeans Eclipse Java์—์„œ toString() ๋ฉ”์„œ๋“œ๋ฅผ ์žฌ์ •์˜ํ•˜๊ธฐ ์œ„ํ•œ 10๊ฐ€์ง€ ํŒ(1๋ถ€) - 1

์ž๋ฐ” toString ๋ฉ”์†Œ๋“œ

toStringObjectJava์˜ ๋ฉ”์†Œ๋“œ๋Š” ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ˜•์‹์œผ๋กœ ๊ฐ์ฒด( )์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•˜๊ณ  ์ถฉ๋ถ„ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค . ์ ์ ˆํ•œ ๋ฉ”์†Œ๋“œ ์žฌ์ •์˜๋Š” ๊ท€์ค‘ํ•˜๊ณ  ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜์—ฌ Java ํ”„๋กœ๊ทธ๋žจ์„ ๋กœ๊น… ํ•˜๊ณ  ๋””๋ฒ„๊น…ํ•˜๋Š”toString ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค . ํด๋ž˜์Šค ์— ์ •์˜๋˜์–ด ์žˆ๊ณ  ๊ธฐ๋ณธ ๊ตฌํ˜„์—์„œ๋Š” ๋งŽ์€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ํ•ญ์ƒ ํ•˜์œ„ ํด๋ž˜์Šค์—์„œ ์ด ๋ฉ”์„œ๋“œ๋ฅผ ์žฌ์ •์˜ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ, ๋˜๋Š” ์œ ํ˜•์˜ ์ค‘์š”ํ•˜๊ฑฐ๋‚˜ ์ผ๋ฐ˜์ ์ธ ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ ํ•ญ์ƒ Java ์˜ equals , hashCode , CompareTo ๋ฐ ๋ฉ”์„œ๋“œ ๋ฅผ ์žฌ์ •์˜ํ•˜์„ธ์š”. ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ตฌํ˜„์€ ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค . ์˜ˆ๋ฅผ ๋“ค์–ด ํด๋ž˜์Šค ๋ฉ”์†Œ๋“œ๋Š” test.Country@18e2b22๋ฅผ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ 18e2b22๋Š” 16์ง„์ˆ˜๋กœ ๋œ ๊ฐ์ฒด์˜ ํ•ด์‹œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. hashCode ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด 260943370 ์ด ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค. 18e2b22์— ํ•ด๋‹นํ•˜๋Š” 10์ง„์ˆ˜ ์ž…๋‹ˆ๋‹ค. ์ด ์ •๋ณด๋Š” ๋ฌธ์ œ๋ฅผ ๊ฒ€์ƒ‰ํ•  ๋•Œ ํŠนํžˆ ์œ ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์—์„œ ๋ฌธ์ œ๋ฅผ ์ฐพ์•„์•ผ ํ•˜๋Š” ์‹ค์ œ ์˜ˆ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์ด ์–ด๋–ค ํ˜ธ์ŠคํŠธ์™€ ํฌํŠธ์— ์—ฐ๊ฒฐํ•˜๋ ค๊ณ  ํ•˜๋Š”์ง€ ์•Œ๊ณ  ์‹ถ๊ณ  ๊ธฐ๋ณธ ์ •๋ณด ๋งŒ ์ธ์‡„ ํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ๋ฌธ์ œ๋ฅผ ์ƒ์ƒํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์žฌ์ •์˜๋œ ๊ตฌํ˜„์„ ํ†ตํ•ด ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ๋ฐ ํฌํŠธ ๋ฒˆํ˜ธ์™€ ๊ฐ™์€ ์œ ์šฉํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด Java ํŠœํ† ๋ฆฌ์–ผ์—์„œ๋Š” ์ฝ”๋“œ ์˜ˆ์ œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์„œ๋“œ ์žฌ์ •์˜์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ํŒ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค . toString()java.lang.ObjectOrderTradeEmployeetoStringtoStringpackage.class@hashCodetoString()toString()CountrySocketServerSockettoStringtoStringtoString

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๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ + ์—ฐ์‚ฐ์ž ๋Œ€์‹  StringBuilderand ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ Eclipse์™€ Netbeans๋Š” ๋ชจ๋‘ ์—ฐ๊ฒฐ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. append()toStringtoString

@Override ์ฃผ์„ ์‚ฌ์šฉ

Java์—์„œ ๋ฉ”์„œ๋“œ ์žฌ์ •์˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” @Override๊ฒƒ์€ ์–ธ์–ด์˜ ๋ชจ๋ฒ” ์‚ฌ๋ก€ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. equals()๊ทธ๋Ÿฌ๋‚˜ ์ด ํžŒํŠธ๋Š” ๋ฐ ๋ฉ”์„œ๋“œ ๋ฅผ ์žฌ์ •์˜ํ•˜๋Š” ๊ฒฝ์šฐ๋งŒํผ ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค compareTo(). ์žฌ์ •์˜ํ•˜๋Š” ๋Œ€์‹  ์˜ค๋ฒ„๋กœ๋“œํ•˜๋ฉด ๊ณ„์‚ฐํ•˜๊ธฐ ์–ด๋ ค์šด ๋ฏธ๋ฌ˜ํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์–ด์จŒ๋“  ์ฃผ์„์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค @Overrride.

๋ฐฐ์—ด ๊ฐ์ฒด๋ฅผ ์ธ์‡„ํ•˜๋Š” ๋Œ€์‹  ๋ฐฐ์—ด์˜ ๋‚ด์šฉ์„ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค.

๋ฐฐ์—ด์€ Java์˜ ๊ฐ์ฒด์ด์ง€๋งŒ ๋ฉ”์†Œ๋“œ๋ฅผ ์žฌ์ •์˜ํ•˜์ง€ ์•Š์œผ๋ฉฐ toString๋ฐฐ์—ด์„ ์ธ์‡„ํ•  ๋•Œ ๋ฐฐ์—ด์˜ ๋‚ด์šฉ์„ ๋ณด๊ณ  ์‹ถ๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ๋ณธ ์ถœ๋ ฅ ํ˜•์‹์€ ๊ทธ๋‹ค์ง€ ์œ ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ , ์ด๊ฒƒ์ด ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ๊ฐ™์€ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด String๋ณด๋‹ค char[] ๋ฐฐ์—ด์„ ์„ ํ˜ธํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ์ด์œ ์ž…๋‹ˆ๋‹ค. ๋ฐฐ์—ด์˜ ๋‚ด์šฉ์„ ์ธ์‡„ํ•˜๋Š” ๊ฒƒ์ด ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋„์›€์ด ๋˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์‹œ๊ฐ„์„ ๋“ค์—ฌ ์‚ดํŽด๋ณด๊ณ , ๊ทธ๊ฒƒ์ด ํƒ€๋‹นํ•˜๋‹ค๋ฉด ๊ฐ์ฒด ์ž์ฒด ๋Œ€์‹  ๋ฐฐ์—ด์˜ ๋‚ด์šฉ์„ ์ธ์‡„ํ•˜์‹ญ์‹œ์˜ค. ์„ฑ๋Šฅ์ƒ์˜ ์ด์œ ๋กœ ๋‹ค๋ฅธ ๊ฐœ์ฒด๋ฅผ ์ €์žฅํ•˜๋Š” ๋Œ€์‹  Collection์ด๋Ÿฌํ•œ ArrayList๋˜๋Š” HashSet์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค Array.

๋ณด๋„ˆ์Šค ํŒ

Java์˜ ๋ฉ”์†Œ๋“œ ์žฌ์ •์˜์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ํŒ toString.
  1. ์ถœ๋ ฅ์„ toString์—ฌ๋Ÿฌ ์ค„๋กœ ์ธ์‡„ํ•˜๊ฑฐ๋‚˜ ๊ธธ์ด์— ๋”ฐ๋ผ ํ•œ ์ค„๋กœ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค.

  2. toString์ฆ‰, package.class์˜คํ•ด๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ํ‘œํ˜„์— ์ •๊ทœํ™”๋œ ํด๋ž˜์Šค ์ด๋ฆ„์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค .

  3. Null ๊ฐ’์„ ๊ฑด๋„ˆ๋›ฐ๊ฑฐ๋‚˜ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์Šต๋‹ˆ๋‹ค. ๋•Œ๋กœ๋Š” NullPointerExceptionnull ๊ณผ ๊ฐ™์ด ์ผ๋ถ€ ์‚ฌ๊ฑด ์ค‘์— ์–ด๋–ค ํ•„๋“œ๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ๋ณด์—ฌ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค .

  4. ํ‚ค-๊ฐ’ ํ˜•์‹์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด member.name=member.value๋Œ€๋ถ€๋ถ„์˜ IDE๊ฐ€ ์ด๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  5. ์ƒ์† ํด๋ž˜์Šค์— ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐ๋˜๋Š” ๊ฒฝ์šฐ ์ƒ์† ๋ฉค๋ฒ„๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

  6. ๋•Œ๋กœ๋Š” ๋นŒ๋” ํ…œํ”Œ๋ฆฟ ์˜ˆ ์—์„œ ๋ณด์—ฌ์ค€ ๊ฒƒ์ฒ˜๋Ÿผ ๊ฐ์ฒด์— ๋งŽ์€ ์„ ํƒ์  ๋ฐ ํ•„์ˆ˜ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค . ์ด๋•Œ ๋ชจ๋“  ํ•„๋“œ๋ฅผ ์ธ์‡„ํ•˜๋Š” ๊ฒƒ์ด ๊ฑฐ์˜ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ํŠนํžˆ ์„ ํƒ์  ํ•„๋“œ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•„์ˆ˜ ํ•„๋“œ๋งŒ ์ธ์‡„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION