๋ถ๋ฅ | String | StringBuffer | StringBuilder |
---|---|---|---|
๋ณ๊ฒฝ | Immutable | Mutable | Mutable |
๋๊ธฐํ | Synchronized ๊ฐ๋ฅ (Thread-safe) | Synchronized ๋ถ๊ฐ๋ฅ. |
- new ์ฐ์ฐ์ ํตํด ์์ฑ๋ ์ธ์คํด์ค์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ณํ์ง ์์ (Immutable)
- Garbage Collector๋ก ์ ๊ฑฐ๋์ด์ผ ํจ.
- ๋ฌธ์์ด ์ฐ์ฐ์ ์๋ก ๊ฐ์ฒด๋ฅผ ๋ง๋๋ Overhead ๋ฐ์
- ๊ฐ์ฒด๊ฐ ๋ถ๋ณํ๋ฏ๋ก, Multithread์์ ๋๊ธฐํ๋ฅผ ์ ๊ฒฝ ์ธ ํ์๊ฐ ์์. (์กฐํ ์ฐ์ฐ์ ๋งค์ฐ ํฐ ์ฅ์ )
String ํด๋์ค : ๋ฌธ์์ด ์ฐ์ฐ์ด ์ ๊ณ , ์กฐํ๊ฐ ๋ง์ ๋ฉํฐ์ฐ๋ ๋ ํ๊ฒฝ์์ ์ข์
- ๊ณตํต์
- new ์ฐ์ฐ์ผ๋ก ํด๋์ค๋ฅผ ํ ๋ฒ๋ง ๋ง๋ฌ (Mutable)
- ๋ฌธ์์ด ์ฐ์ฐ์ ์๋ก ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ง ์๊ณ , ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝ์ํด
- StringBuffer์ StringBuilder ํด๋์ค์ ๋ฉ์๋๊ฐ ๋์ผํจ.
- ์ฐจ์ด์
- StringBuffer๋ Thread-Safeํจ / StringBuilder๋ Thread-safeํ์ง ์์ (๋ถ๊ฐ๋ฅ)
StringBuffer ํด๋์ค : ๋ฌธ์์ด ์ฐ์ฐ์ด ๋ง์ Multi-Thread ํ๊ฒฝ
StringBuilder ํด๋์ค : ๋ฌธ์์ด ์ฐ์ฐ์ด ๋ง์ Single-Thread ๋๋ Thread ์ ๊ฒฝ ์์ฐ๋ ํ๊ฒฝ