1. String์ด๋? -> ์ฐธ์กฐํ์ ์ค ์ ์ผํ๊ฒ ๊ธฐ๋ณธํ์ ์ ํน์ง์ ๊ฐ์ง๊ณ ์์ -> ์ด ๋ง์ ๋ฌธ์์ด ๋ฐ์ดํฐ๋ฅผ ์ง์ ์ ์ฅํ์ง ์๊ณ ๋ฉ๋ชจ๋ฆฌ์ ํน์ ์์น๋ฅผ ์ฐธ์กฐํ๋ค๋ ๋ป์.
obj1, 2, 3 ๋ชจ๋ ๋์ผํ ๋ ํผ๋ฐ์ค๋ฅผ ์ฐธ์กฐํ๊ณ ์๋ค.
2. ๋ฆฌํฐ๋ด๋ก ๋ง๋ค์์ ๋์ new๋ฅผ ์ด์ฉํด ๊ฐ์ฒด๋ฅผ ๋ง๋ค์์ ๋ ๋ ํผ๋ฐ์ค๊ฐ ๋ค๋ฅด๋ค.
์์ ๊ทธ๋ฆผ 1.1์ ๋ณด๋ฉด String pool์ "java"๊ฐ ์ฌ๋ผ๊ฐ ์๋๋ฐ ๊ฐ ๊ฐ์ฒด๋ค์ ๋ชจ๋ ๊ฐ์ ์ฃผ์๋ฅผ ์ฐธ์กฐํ๊ธฐ ๋๋ฌธ์
์ฃผ์๋ฅผ ๋น๊ตํ๋ "=="๋ true๊ฐ ๋์ฌ๊ฒ์ด๋ค. ๋ํ ๋ด์ฉ์ ๋น๊ตํ๋ equals๋ ๊ฐ๋ค. ๊ฐ์ java๊ฐ ๋ค์ด์๋ค.
๊ทธ๋ผ ๋ฐ์ ์ฝ๋๋ ์ด๋ป๊ฒ ์ถ๋ ฅ์ด ๋ ๊น?
new๋ฅผ ์ฌ์ฉํด ๋ง๋ค๊ฒ๋๋ฉด heap ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ ๊ฐ๊ฐ ์๋ก์ด ์ฃผ์๋ฅผ ๋ถ์ฌ๋ฐ๊ฒ ๋๋ค.
๊ทธ๋ ๊ธฐ์ false,true๊ฐ ์ถ๋ ฅ์ด ๋ ๊ฒ์ด๋ค.
2.String์ ์ฑ๊ฒฉ -> String์ immutableํ ์ฑ๊ฒฉ์ ๊ฐ์ง๊ณ ์๋ค. ์ฆ ์๋ณธ์ ๊ฐ์ด ๋ฐ๋์ง ์๋๋ค๋ ๊ฒ์ด๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ด๋ถ์์ ๊ฐ์ด ์์ฃผ ๋ณ๊ฒฝ๋ ์ํฉ์ด ์์ธก๋๋ค๋ฉด StringBuffer ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด์ค์ ํ์ฉํ๋ฉด ๋๋ค.
StringBuffer๋ ๊ฐ์ฒด๊ฐ Heap์ ํ๋ฒ ๋ง๋ค์ด์ง๊ณ ๋ด๋ถ์ ๋ด์ฉ์ด ๋ณํ ์ ์๋ค.
์ ์ฝ๋์ ์ถ๋ ฅ ๊ฒฐ๊ณผ์ด๋ค.