Search

toString() λ©”μ†Œλ“œ

toString() λ©”μ†Œλ“œ

객체λ₯Ό λ¬Έμžμ—΄λ‘œ ν‘œν˜„ν•˜λŠ” λ©”μ†Œλ“œ
ν΄λž˜μŠ€μ΄λ¦„ @ ν•΄μ‹œμ½”λ“œ ν˜•νƒœλ‘œ Object 클래슀의 μ •μ˜λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.
일반적으둜, μ˜€λ²„λΌμ΄λ”©ν•˜μ—¬ 객체의 λ³€μˆ˜μ™€ μ£Όμš” μƒνƒœλ₯Ό λ¬Έμžμ—΄λ‘œ 좜λ ₯ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•©λ‹ˆλ‹€.

κΈ°λ³Έ κ°œλ…

객체λ₯Ό λ¬Έμžμ—΄λ‘œ ν‘œν˜„ν•˜λŠ” μ—­ν• μ˜ λ©”μ†Œλ“œ
toString() λ©”μ†Œλ“œλŠ” Java의 Object ν΄λž˜μŠ€μ— μ •μ˜λœ λ©”μ†Œλ“œλ‘œ, λͺ¨λ“  Java κ°μ²΄λŠ” 이 λ©”μ†Œλ“œλ₯Ό μƒμ†λ°›μŠ΅λ‹ˆλ‹€.

κΈ°λ³Έ κ΅¬ν˜„

Object 클래슀의 κΈ°λ³Έ toString() κ΅¬ν˜„μ€ λ‹€μŒκ³Ό 같은 ν˜•μ‹μ˜ λ¬Έμžμ—΄μ„ λ°˜ν™˜ν•©λ‹ˆλ‹€:
getClass().getName() + '@' + Integer.toHexString(hashCode())
Java
볡사
예λ₯Ό λ“€μ–΄: "MyClass@7a81197d"와 같은 ν˜•νƒœμž…λ‹ˆλ‹€.

λ©”μ†Œλ“œ μž¬μ •μ˜ (Override)

λŒ€λΆ€λΆ„μ˜ ν΄λž˜μŠ€μ—μ„œλŠ” 더 μœ μš©ν•œ 정보λ₯Ό μ œκ³΅ν•˜κΈ° μœ„ν•΄ toString() λ©”μ†Œλ“œλ₯Ό μž¬μ •μ˜ν•©λ‹ˆλ‹€:
public class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } @Override public String toString() { return "Person{name='" + name + "', age=" + age + "}"; } }
Java
볡사

toString()의 ν™œμš©

β€’
객체의 μƒνƒœ 좜λ ₯ 및 디버깅
β€’
λ‘œκΉ… λ©”μ‹œμ§€ 생성
β€’
λ¬Έμžμ—΄ μ—°κ²° μ—°μ‚°μ—μ„œ μžλ™ 호좜
β€’
System.out.println() λ“±μ—μ„œ μžλ™ 호좜

λͺ¨λ²” 사둀

효과적인 toString() κ΅¬ν˜„μ€ λ‹€μŒ 사항을 포함해야 ν•©λ‹ˆλ‹€:
β€’
객체의 μ€‘μš”ν•œ ν•„λ“œ 정보
β€’
읽기 μ‰¬μš΄ ν˜•μ‹
β€’
λ―Όκ°ν•œ μ •λ³΄λŠ” μ œμ™Έ (λΉ„λ°€λ²ˆν˜Έ λ“±)
β€’
μΌκ΄€λœ ν˜•μ‹ μœ μ§€
toString() λ©”μ†Œλ“œλŠ” λ‹¨μˆœν•œ 디버깅 도ꡬ μ΄μƒμ˜ 역할을 ν•˜λ©°, 잘 κ΅¬ν˜„λœ toString()은 μ½”λ“œμ˜ 가독성과 μœ μ§€λ³΄μˆ˜μ„±μ„ 크게 ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€.