Search
Duplicate

StringBuilder

νƒœκ·Έ
ꡬ뢄
μŠ€ν„°λ””λ‘œκ·Έ
String κ³Ό StringBuilder
β€’
String 은 λΆˆλ³€ 속성을 가진닀.
β—¦
연산을 톡해 값을 변경해도 μ›λž˜ 기쑴의 λ©”λͺ¨λ¦¬μ—μ„œ 값이 λ°”λ€ŒλŠ”κ²ƒμ΄ μ•„λ‹ˆλΌ 기쑴의 값을 버리고 μƒˆλ‘œμš΄ 값을 μž¬ν• λ‹Ή ν•œλ‹€. λ•Œλ¬Έμ— μ²˜μŒμ— ν• λ‹Ήν•œ String 의 λ©”λͺ¨λ¦¬ μ˜μ—­μ€ Garbage 둜 λ‚¨μ•„μžˆλ‹€κ°€ GargageCollection 에 μ˜ν•΄ 없어진닀.
β—¦
λΆˆλ³€ 속성은 λ³€ν•˜μ§€ μ•ŠλŠ” λ¬Έμžμ—΄μ„ 자주 읽어듀일 λ•Œ μœ λ¦¬ν•˜λ‹€. ν•˜μ§€λ§Œ λ¬Έμžμ—΄μ˜ 연산이 자주 μΌμ–΄λ‚˜λŠ” 경우 νž™ λ©”λͺ¨λ¦¬μ— λ§Žμ€ Garbage κ°€ μƒμ„±λ˜κ³ , μ΄λŠ” νž™ λ©”λͺ¨λ¦¬ λΆ€μ‘±μœΌλ‘œ 이어지기 λ•Œλ¬Έμ— ν”„λ‘œκ·Έλž¨μ˜ μ„±λŠ₯에 쒋지 μ•Šμ€ 영ν–₯을 λΌμΉœλ‹€.
JVM Runtime Data Area
β€’
StringBuilder λŠ” 가변성을 가진닀.
β—¦
가변성을 νŠΉμ§•μœΌλ‘œ 가지기 λ•Œλ¬Έμ— .append(), .delete() λ“± 동일 객체 λ‚΄μ—μ„œ λ¬Έμžμ—΄μ„ λ³€κ²½ν•˜λŠ” 것이 κ°€λŠ₯ν•˜λ‹€. λ•Œλ¬Έμ— λ¬Έμžμ—΄μ˜ μΆ”κ°€, μˆ˜μ •, μ‚­μ œκ°€ λΉˆλ²ˆν•˜κ²Œ λ°œμƒν•  경우 μ‚¬μš©ν•˜λŠ” 것이 μ’‹λ‹€.
StringBuilder sb = new StringBuilder(); sb.append("[λ¬Έμžμ—΄]"); sb.append(" "); sb.append("\n");
Java
볡사