.jpg)
Java๋ก ํ๋ก๊ทธ๋จ์ ๋ง๋๋๋ฐ ํ์ํ ์ฃผ์ ๊ธฐ๋ฅ์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ ์ ๊ณตํ๋ค.Java API๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ๋ํ ์์ธํ ์ ๋ณด ์ ๊ณต (HTML ํ์ผ)์๋ฐ ํ๋ก๊ทธ๋จ์ ๋จ์, ์๋ฐ ํ๋ก๊ทธ๋จ์ ํด๋์ค๋ค๋ก ๊ตฌ์ฑ์๋ฐ ํ๋ก๊ทธ๋จ์ ์์์ .์ด ๋ฉ์๋ ์์ด๋ ์คํ์ด ๋ถ๊ฐ๋ฅํ๋ค.
์ค์๋ฅผ ์์์ ์ฒซ ์งธ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผํ ์ ์๋ฅผ ๋ฐํ์ค๋ฅธ์ชฝ ํผ์ฐ์ฐ์๋ก ๋๋๊ณ ๋จ์ ๋๋จธ์ง๋ฅผ ๋ฐํSystem.out.printf(10 % 8); //10์ 8๋ก ๋๋ ๋๋จธ์ง 2๊ฐ ์ถ๋ ฅ๋๋ค.System.out.printf(10 % -8); //์์ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ป๋๋ค.๋ฌธ์์ด
์กฐ๊ฑด์์ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ์ฐ์ฐ ๊ฒฐ๊ณผ๋ฅผ ๋ฌ๋ฆฌํ๋ค.์ค๋ฅธ์ชฝ ํผ์ฐ์ฐ์๋ฅผ ์ผ์ชฝ ํผ์ฐ์ฐ์์ ์ ์ฅ ํ ์ ์ฅ๋ ๊ฐ์ ๋ฐํlvalue(left value) - ๋์ ์ฐ์ฐ์์ ์ผ์ชฝ ํผ์ฐ์ฐ์rvalue(right value) - ๋์ ์ฐ์ฐ์์ ์ค๋ฅธ์ชฝ ํผ์ฐ์ฐ์
Math.random() - 0.0๊ณผ 1.0์ฌ์ด์ ์์์ double๊ฐ์ ๋ฐํ
๋ฐฐ์ด์ ๊ฐ์ ํ์ ์ ์ฌ๋ฌ ๋ณ์๋ฅผ ํ๋์ ๋ฌถ์์ผ๋ก ๋ค๋ฃจ๋ ๊ฒ๋ฐฐ์ด์ ๋ณ์ ์ ์ธ๊ณผ ๋ฌ๋ฆฌ ๋ค๋ค์ผํ ๋ฐ์ดํฐ์ ์๊ฐ ์๋ฌด๋ฆฌ ๋ง์๋ ๋จ์ง ๋ฐฐ์ด์ ๊ธธ์ด๋ง ๋ฐ๊พธ๋ฉด ๋๋ค.๋ณ์์ ๋ฌ๋ฆฌ ๋ฐฐ์ด์ ๊ฐ ์ ์ฅ๊ณต๊ฐ์ด ์ฐ์์ ์ผ๋ก ๋ฐฐ์น๋์ด ์๋ค๋ ํน์ง์ด ์๋ค. ๋ฐฐ์ด์ ์ ์ธํ๋ ๊ฒ์ ๋จ์ง ์์ฑ๋ ๋ฐฐ์ด์
String ํด๋์ค๋ char\[]์ ๋งค์๋(๊ธฐ๋ฅ)๋ฅผ ๊ฒฐํฉํ ๊ฒString ํด๋์ค๋ ๋ด์ฉ์ ๋ณ๊ฒฝํ ์ ์๋ค.(read only)
๋ฐฐ์ด์ ๋น๊ต์ ์ถ๋ ฅ - equals(), toString() ๋ฐฐ์ด์ ๋ณต์ฌ - copyOf(), copyOfRange() ๋ฐฐ์ด์ ์ ๋ ฌ - sort()
์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ์ด ๋๋ค์๋ก์ด ์ฝ๋๋ฅผ ์์ฑํ ๋ ๊ธฐ์กด์ ์ฝ๋๋ฅผ ์ด์ฉํ์ฌ ์ฝ๊ฒ ์์ฑํ ์ ์๋ค.์ฝ๋์ ๊ด๋ฆฌ๊ฐ ์ฉ์ดํ๋ค.์ฝ๋๊ฐ์ ๊ด๊ณ๋ฅผ ์ด์ฉํด์ ์ ์ ๋ ธ๋ ฅ์ผ๋ก ์ฝ๊ฒ ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ค.์ ๋ขฐ์ฑ์ด ๋์ ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ๋ฅํ๊ฒ ํ๋ค.์ ์ด์์ ๋ฉ์๋๋ฅผ ์ด์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๊ณ
ํด๋์ค์ ์ ์ํด๋์ค๋ ๊ฐ์ฒด๋ฅผ ์ ์ํด ๋์ ๊ฒํด๋์ค์ ์ฉ๋ํด๋์ค๋ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋๋ฐ ์ฌ์ฉ๊ฐ์ฒด์ ์ ์์ค์ ๋ก ์กด์ฌํ๋ ๊ฒ. ์ฌ๋ฌผ ๋๋ ๊ฐ๋ ๊ฒ์ฒด์ ์ฉ๋๊ฐ์ฒด๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ธฐ๋ฅ๊ณผ ์์ฑ์ ๋ฐ๋ผ ๋ค๋ฆํด๋์ค๋ก๋ถํฐ ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๊ณผ์ ์ ํด๋์ค์ ์ธ์คํด์คํ(instantiate)๋ผ๊ณ ํ
๊ฐ์ฒด ๋ฐฐ์ด ๋ง์ ์์ ๊ฐ์ฒด๋ฅผ ๋ค๋ค์ผํ ๊ฒฝ์ฐ ๋ฐฐ์ด๋ก ๋ค๋ฃจ๋ฉด ํธ๋ฆฌํ๋ค. ์ด๋ฅผ '๊ฐ์ฒด ๋ฐฐ์ด'์ด๋ผ๊ณ ํ๋ค. ๊ทธ๋ ๋ค๊ณ ๊ฐ์ฒด ๋ฐฐ์ด ์์ ๊ฐ์ฒด๊ฐ ์ ์ฅ๋๋ ๊ฒ์ ์๋๊ณ , ๊ฐ์ฒด์ ์ฃผ์๊ฐ ์ ์ฅ๋๋ค. ๊ฐ์ฒด ๋ฐฐ์ด๋ ๊ฐ์ ํ์ ์ ๊ฐ์ฒด๋ง ์ ์ฅํ ์ ์์ผ๋ฏ๋ก ์ฃผ์ํด์ผํ๋ค. ์ฌ๋ฌ์ข ๋ฅ์ ๊ฐ์ฒด๋ฅผ ํ๋์ ๋ฐฐ์ด์ ์ ์ฅํ๊ณ ์ถ๋ค๋ฉด '๋คํ์ฑ'์ ๋ฐฐ์ฐ๊ณ ๋๋ฉด, ํ๋์ ๋ฐฐ์ด๋ก ์ฌ๋ฌ ์ข ๋ฅ์ ๊ฐ์ฒด...
๋ณ์๋ ํด๋์ค๋ณ์, ์ธ์คํด์ค๋ณ์, ์ง์ญ๋ณ์ ๋ชจ๋ ์ธ ์ข ๋ฅ๊ฐ ์๋ค.๋ฉค๋ฒ๋ณ์๋ฅผ ์ ์ธํ ๋๋จธ์ง ๋ณ์๋ค์ ๋ชจ๋ ์ง์ญ๋ณ์์ด๋ฉฐ, ๋ฉค๋ฒ๋ณ์ ์ค static์ด ๋ถ์ ๊ฒ์ ํด๋์ค๋ณ์, ๋ถ์ง ์์ ๊ฒ์ ์ธ์คํด์ค๋ณ์์ด๋ค.ํด๋์ค ์์ญ์ ์ ์ธ์ธ์คํด์ค ๋ณ์๊ฐ์ ์ฝ์ด ์ค๊ฑฐ๋ ์ ์ฅํ๊ธฐ ์ํด์๋ ๋จผ
์๋ฐ์์๋ ๋ฉ์๋๋ฅผ ํธ์ถํ ๋ ๋งค๊ฐ๋ณ์๋ก ์ง์ ํ ๊ฐ์ ๋ฉ์๋์ ๋งค๊ฐ๋ณ์์ ๋ณต์ฌํด์ ๋๊ฒจ์ค๋ค. ๋งค๊ฐ๋ณ์์ ํ์ ์ด ๊ธฐ๋ณธํ(primitive type)์ผ ๋๋ ๊ธฐ๋ณธํ ๊ฐ์ด ๋ณต์ฌ๋๊ฒ ์ง๋ง, ์ฐธ์กฐํ(reference type)์ด๋ฉด ์ธ์คํด์ค์ ์ฃผ์๊ฐ ๋ณต์ฌ๋๋ค.๋ฉ์๋์ ๋งค๊ฐ๋ณ์๋ฅผ ๊ธฐ
์์ฑ๋ ๊ฐ ์ธ์คํด์ค๋ ์๋ก ๋ ๋ฆฝ์ ์ด๊ธฐ ๋๋ฌธ์ ๊ฐ ์ธ์คํด์ค ๋ณ์(iv)๋ ์๋ก ๋ค๋ฅธ ๊ฐ์ ์ ์งํ๋ค. ๊ทธ๋ฌ๋ ๋ชจ๋ ์ธ์คํด์ค์์ ๊ฐ์ ๊ฐ์ด ์ ์ง๋์ด์ผ ํ๋ ๋ณ์๋ static์ ๋ถ์ฌ์ ํด๋์ค๋ณ์๋ก ์ ์ํด์ผ ํ๋ค.static์ด ๋ถ์ ๋ณ์๋ ํด๋์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ ๋ ์ด๋ฏธ ์
ํ ํด๋์ค ๋ด์ ๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๋ฅผ ์ฌ๋ฌ ๊ฐ ์ ์ํ๋ ๊ฒ์ '๋ฉ์๋ ์ค๋ฒ๋ก๋ฉ' ๋๋ '์ค๋ฒ๋ก๋ฉ'์ด๋ผ๊ณ ํ๋ค.๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๋ฅผ ์ ์ํ๋ค๊ณ ํด์ ๋ฌด์กฐ๊ฑด ์ค๋ฒ๋ก๋ฉ์ธ ๊ฒ์ ์๋๋ค.์ค๋ฒ๋ก๋ฉ์ด ์ฑ๋ฆฝํ๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ ์กฐ๊ฑด์ ๋ง์กฑํด์ผ ํ๋ค.๋ฉ์๋ ์ด๋ฆ์ด ๊ฐ์์ผ ํ๋ค.๋งค
์์ฑ์๋? ์์ฑ์๋ ์ธ์คํด์ค๊ฐ ์์ฑ๋ ๋ ํธ์ถ๋๋ '์ธ์คํด์ค ์ด๊ธฐํ ๋ฉ์๋'๋ค. ๋ฐ๋ผ์ ์ธ์คํด์ค ๋ณ์์ ์ด๊ธฐํ ์์ ์ ์ฃผ๋ก ์ฌ์ฉ๋๋ฉฐ, ์ธ์คํด์ค ์์ฑ ์์ ์คํ๋์ด์ผ ํ ์์ ์ ์ํด์๋ ์ฌ์ฉ๋๋ค.
๋ณ์์ ์ด๊ธฐํ ๋ณ์๋ฅผ ์ ์ธํ๊ณ ์ฒ์์ผ๋ก ๊ฐ์ ์ ์ฅํ๋ ๊ฒ์ '๋ณ์์ ์ด๊ธฐํ'๋ผ๊ณ ํ๋ค. ๋ฉค๋ฒ๋ณ์๋ ์ด๊ธฐํ๋ฅผ ํ์ง ์์๋ ์๋์ ์ผ๋ก ๋ณ์์ ์๋ฃํ์ ๋ง๋ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ด๊ธฐํ๊ฐ ์ด๋ฃจ์ด์ง๋ฏ๋ก ์ด๊ธฐํํ์ง ์๊ณ ์ฌ์ฉํด๋ ๋๋ค. ๋จ, ์ง์ญ๋ณ์๋ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ฐ๋์ ์ด๊ธฐํํด์ผ ํ๋ค
์์๊ธฐ์กด์ ํด๋์ค๋ฅผ ์ฌ์ฌ์ฉํ์ฌ ์๋ก์ด ํด๋์ค๋ฅผ ์์ฑํ๋ ๊ฒ์์์ ํตํด์ ํด๋์ค๋ฅผ ์์ฑํ๋ฉด ๋ณด๋ค ์ ์ ์์ ์ฝ๋๋ก ์๋ก์ด ํด๋์ค๋ฅผ ์์ฑํ ์ ์๊ณ ์ฝ๋๋ฅผ ๊ณตํต์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๊ธฐ ๋๋ฌธ์ ์ฝ๋์ ์ถ ใ ๋ฐ ๋ณ๊ฒฝ์ด ๋งค์ฐ ์ฉ์ดํ๋ค.์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ์ ๋์ด๊ณ ์ฝ๋์ ์ค๋ณต์ ์ ๊ฑฐํ
์กฐ์ ํด๋์ค๋ก๋ถํฐ ์์๋ฐ์ ๋ฉ์๋์ ๋ด์ฉ์ ๋ณ๊ฒฝํ๋ ๊ฒ์ ์ค๋ฒ๋ผ์ด๋ฉ์ด๋ผ๊ณ ํจ.์ด ๋ ํด๋์ค๋ ์๋ก ์์๊ด๊ณ์ ์์ผ๋ฏ๋ก Point3D ํด๋์ค๋ Pointํด๋์ค๋ก ๋ถํฐ getLocation()์ ์์๋ฐ์ง๋ง, Point3D ํด๋์ค์ ์ฑ๊ฒฉ๊ณผ ๋ง์ง ์๋๋ค. ๊ทธ๋์ Point3D
ํจํค์ง๋, ํด๋์ค์ ๋ฌถ์์ด๋ค.ํด๋์ค ๋๋ ์ธํฐํ์ด์ค๋ฅผ ํฌํจ์ํฌ ์ ์๋ค.์๋ก ๊ด๋ จ๋ ํด๋์ค๋ค๋ผ๋ฆฌ ๊ทธ๋ฃน ๋จ์๋ก ๋ฌถ์ด ๋์์ผ๋ก์จ ํด๋์ค๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌ ๊ฐ๋ฅํ๋ค.์์ ๋ง์ ํจํค์ง ์ฒด๊ณ๋ฅผ ์ ์งํจ์ผ๋ก์จ ๋ค๋ฅธ ๊ฐ๋ฐ์๊ฐ ๊ฐ๋ฐํ ํด๋์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํด๋์ค์ ์ด๋ฆ์ด ์ถฉ๋ํ๋ ๊ฒ์ ํผ
์ ๊ทผ ์ ์ด์ public, protected, default, private๊ทธ ์ธ: static, final, abstract, native, transient, synchronized, volatile, strictfp์ธ์คํด์ค๋ณ์๋ ํ๋์ ํด๋์ค๋ก๋ถํฐ ์์ฑ๋์๋๋ผ๋
ํด๋์ค๋ ๋ฉค๋ฒ, ์ฃผ๋ก ๋ฉค๋ฒ์ ์ ๊ทผ ์ ์ด์๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ ํด๋์ค์ ๋ด๋ถ์ ์ ์ธ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๊ธฐ ์ํด์์ด๋ค.๋ฐ์ดํฐ๊ฐ ์ ํจํ ๊ฐ์ ์ ์งํ๋๋ก, ๋๋ ๋น๋ฐ๋ฒํธ์ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ธ๋ถ์์ ํจ๋ถ๋ก ๋ณ๊ฒฝํ์ง ๋ชปํ๋๋ก ํ๊ธฐ ์ํด์๋ ์ธ๋ถ๋ก๋ถํฐ ์ ๊ทผ์ ์ ํํ๋ ๊ฒ์ด ํ์ํ๋ค.ํด๋
๊ฐ์ฒด์งํฅ๊ฐ๋ ์์ ๋คํ์ฑ์ด๋ '์ฌ๋ฌ ๊ฐ์ง ํํ๋ฅผ ๊ฐ์ง ์ ์๋ ๋ฅ๋ ฅ'์ด๋ค.์กฐ์ํด๋์ค ํ์ ์ ์ฐธ์กฐ๋ณ์๋ก ์์ํด๋์ค์ ์ธ์คํฐ์ค๋ฅผ ์ฐธ์กฐํ ์ ์๋๋ก ํ์๋ค.ํด๋์ค Tv์ CaptionTv๋ ์๋ก ์์๊ด๊ณ์ ์์ผ๋ฉฐ, ์ด ๋ ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ์์ฑํ๊ณ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋ค์๊ณผ
๋ฉค๋ฒ๋ณ์๊ฐ ์กฐ์ ํด๋์ค์ ์์ ํด๋์ค์ ์ค๋ณต์ผ๋ก ์ ์๋ ๊ฒฝ์ฐ์กฐ์ํ์ ์ ์ฐธ์กฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ ๋๋ ์กฐ์ ํด๋์ค์ ์ ์ธ๋ ๋ฉค๋ฒ๋ณ์๊ฐ ์ฌ์ฉ๋๊ณ ์์ํ์ ์ ์ฐธ์กฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ ๋๋ ์์ ํด๋์ค์ ์ ์ธ๋ ๋ฉค๋ฒ๋ณ์๊ฐ ์ฌ์ฉ๋๋ค.ํ์ง๋ง ์ค๋ณต ์ ์๋์ง ์์ ๊ฒฝ์ฐ์กฐ์ํ์ ์ ์ฐธ์กฐ๋ณ์๋ฅผ ์ฌ์ฉํ
๋ฏธ์์ฑ ๋ฉ์๋๋ฅผ ํฌํจํ๊ณ ์๋ ํด๋์ค์์์ ํตํด์ ์์ํด๋์ค์ ์ํด์๋ง ์์ฑ๊ฐ๋ฅ์ ์ธ๋ถ๋ง ์์ฑํ๊ณ ๊ตฌํ๋ถ๋ ์์ฑํ์ง ์์ ์ฑ๋ก ๋จ๊ฒจ ๋ ๊ฒ/\* ์ฃผ์์ ํตํด ์ด๋ค ๊ธฐ๋ฅ์ ์ํํ ๋ชฉ์ ์ผ๋ก ์์ฑํ์๋์ง ์ค๋ช ํ๋ค. \*/abstract ๋ฆฌํดํ์ ๋ฉ์๋์ด๋ฆ();์ถ์ํด๋์ค๋ก๋ถํฐ
์ธํฐํ์ด์ค๋ ์ถ์ํด๋์ค์ฒ๋ผ ์ถ์๋ฉ์๋๋ฅผ ๊ฐ์ง๋ง ์ถ์ํด๋์ค๋ณด๋ค ์ถ์ํ ์ ๋๊ฐ ๋์์ ๋ชธํต์ ๊ฐ์ถ ์ผ๋ฐ ๋ฉ์๋ ๋๋ ๋ฉค๋ฒ๋ณ์๋ฅผ ๊ตฌ์ฑ์์ผ๋ก ๊ฐ์ง ์ ์๋ค.์ถ์๋ฉ์๋์ ์์๋ง์ ๋ฉค๋ฒ๋ก ๊ฐ์ง ์ ์์ผ๋ฉฐ, ๊ทธ ์ธ์ ๋ค๋ฅธ ์ด๋ ํ ์์๋ ํ์ฉํ์ง ์๋๋ค.๋ชจ๋ ๋ฉค๋ฒ๋ณ์๋ public
์ธํฐํ์ด์ค์ ์ฅ์ > - ๊ฐ๋ฐ์๊ฐ์ ๋จ์ถ์ํฌ ์ ์๋ค. ํ์คํ๊ฐ ๊ฐ๋ฅํ๋ค. ์๋ก ๊ด๊ณ์๋ ํด๋์ค๋ค์๊ฒ ๊ด๊ณ๋ฅผ ๋งบ์ด ์ค ์ ์๋ค. ๋ ๋ฆฝ์ ์ธ ํ๋ก๊ทธ๋๋ฐ์ด ๊ฐ๋ฅํ๋ค. 1. ๊ฐ๋ฐ์๊ฐ์ ๋จ์ถ์ํฌ ์ ์๋ค. ์ธํฐํ์ด์ค๊ฐ ์์ฑ๋๋ฉด, ์ด๋ฅผ ์ฌ์ฉํด์ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ ๊ฒ์ด ๊ฐ๋ฅ
์ปฌ๋ ์ ํ๋ ์์์ด๋, '๋ฐ์ดํฐ ๊ตฐ์ ์ ์ฅํ๋ ํด๋์ค๋ค์ ํ์คํํ ์ค๊ณ'๋ฅผ ๋ปํ๋ค.์ปฌ๋ ์ ์ ๋ฐ์ดํฐ ๊ทธ๋ฃน์, ํ๋ ์์์ ํ์คํ๋ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ ์๋ฏธํ๋ค.List์์๊ฐ ์๋ ๋ฐ์ดํฐ์ ์งํฉ๋ฐ์ดํฐ์ ์ค๋ณต์ ํ์ฉ๊ตฌํ ํด๋์ค : ArrayList, LinkedList, Stac
ArrayList๋ List์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ์ ์ ์ฅ์์๊ฐ ์ ์ง๋๊ณ ์ค๋ณต์ ํ์ฉํ๋ค๋ ํน์ง์ด ์๋ค.๋ง์ฝ ๋ฐฐ์ด์ ๋ ์ด์ ์ ์ฅํ ๊ณต๊ฐ์ด ์์ผ๋ฉด ๋ณด๋ค ํฐ ์๋ก์ด ๋ฐฐ์ด์ ์์ฑํด์ ๊ธฐ์กด์ ๋ฐฐ์ด์ ์ ์ฅ๋ ๋ด์ฉ์ ์๋ก์ด ๋ฐฐ์ด๋ก ๋ณต์ฌํ ๋ค์์ ์ ์ฅ๋๋ค.ArraYLi
๋ฐฐ์ด์ ๋ค์๊ณผ ๊ฐ์ ๋จ์ ์ด ์กด์ฌํ๋ค.ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ค.๋น์์ฐจ์ ์ธ ๋ฐ์ดํฐ์ ์ถ๊ฐ ๋๋ ์ญ์ ์ ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆฐ๋ค.์ด๋ฅผ ๋ณด์ํ๊ธฐ ์ํด์ LinkedList๊ฐ ๋ฑ์ฅํ๋ค. ๋งํฌ๋ ๋ฆฌ์คํธ๋ ๋ถ์ฐ์์ ์ผ๋ก ์กด์ฌํ๋ ๋ฐ์ดํฐ๋ฅผ ์๋ฃ ์ฐ๊ฒฐํ ํํ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.๋งํฌ๋ ๋ฆฌ์คํธ์ ๊ฐ
StackLIFO(Last In First Out)๊ตฌ์กฐQueueFIFO(First In First Out)๊ตฌ์กฐ์์ฐจ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๊ณ ์ญ์ ํ๋ Stack์, ArrayList์ ๊ฐ์ ๋ฐฐ์ด๊ธฐ๋ฐ์ ์ปฌ๋ ์ ํด๋์ค๊ฐ ์ ํฉํ๋ค.Queue์ ๊ฒฝ์ฐ๋ ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ผ ๋ ํญ์ ์ฒซ๋ฒ
collection ์ธํฐํ์ด์ค์๋ "Iterator(Iterator๋ฅผ ๊ตฌํํ ํด๋์ค์ ์ธ์คํด์ค)"๋ฅผ ๋ฐํํ๋ iterator()๋ฅผ ์ ์ํ๊ณ ์๋ค.iterator()๋ Collectin ์ธํฐํ์ด์ค์ ์ ์๋ ๋ฉ์๋์ด๋ฏ๋ก Collection ์ธํฐํ์ด์ค์ ์์์ธ List์ S
HashSet์ Set์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ๊ฐ์ฅ ๋ํ์ ์ธ ์ปฌ๋ ์ ์ด๋ฉฐ, Set์ธํฐํ์ด์ค์ ํน์ง๋๋ก HashSet์ ์ค๋ณต๋ ์์๋ฅผ ์ ์ฅํ์ง ์๋๋ค.๋ง์ผ HashSet์ ์ด๋ฏธ ์ ์ฅ๋์ด ์๋ ์์์ ์ค๋ณต๋ ์์๋ฅผ ์ถ๊ฐํ๊ณ ์ ํ๋ค๋ฉด add๋ฉ์๋๋ addAll๋ฉ์๋ ์ฌ์ฉ์ fals
TreeSet์ ์ด์ง ๊ฒ์ ํธ๋ฆฌ(binary search tree)๋ผ๋ ์๋ฃ๊ตฌ์กฐ์ ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์ปฌ๋ ์ ํด๋์ค์ด๋ค.์ด์ง ๊ฒ์ ํธ๋ฆฌ๋ ์ ๋ ฌ, ๊ฒ์, ๋ฒ์ ๊ฒ์์ ๋์ ์ฑ๋ฅ์ ๋ณด์ด๋ ์๋ฃ๊ตฌ์กฐ์ด๋ฉฐ TreeSet์ ์ด์ง ๊ฒ์ ํธ๋ฆฌ์ ์ฑ๋ฅ์ ํฅ์์ํจ '๋ ๋-๋ธ๋ ํธ๋ฆฌ
HashMap์ Map์ ๊ตฌํํ์ผ๋ฏ๋ก ํค์ ๊ฐ์ ๋ฌถ์ด์ ํ๋์ ๋ฐ์ดํฐ๋ก ์ ์ฅํ๋ค๋ ํน์ง์ ๊ฐ๋๋ค.๊ทธ๋ฆฌ๊ณ ํด์ฑ(Hashing)์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋๋ฐ ์์ด์ ๋ฐ์ด๋ ์ฑ๋ฅ์ ๋ณด์ธ๋ค.HashMap์ ํค์ ๊ฐ์ ๊ฐ๊ฐ Objectํ์ ์ผ๋ก ์ ์ฅํ๋ค. ์ฆ,
๋ค์ํ ํ์ ์ ๊ฐ์ฒด๋ค์ ๋ค๋ฃจ๋ ๋ฉ์๋๋ ์ปฌ๋ ์ ํด๋์ค์ ์ปดํ์ผ ์์ ํ์ ์ฒดํฌ๋ฅผ ํด์ฃผ๋ ๊ธฐ๋ฅ์ด๋ค.๊ฐ์ฒด์ ํ์ ์ ์ปดํ์ผ ์์ ์ฒดํฌํ๊ธฐ ๋๋ฌธ์ ๊ฐ์ฒด์ ํ์ ์์ ์ฑ์ ๋์ด๊ณ ํ๋ณํ์ ๋ฒ๊ฑฐ๋ก์์ด ์ค์ด๋ ๋ค.ํ์ ์์ ์ฑ์ ๋์ธ๋ค๋ ๊ฒ์ ์๋ํ์ง ์์ ํ์ ์ ๊ฐ์ฒด๊ฐ ์ ์ฅ๋๋ ๊ฒ์ ๋ง
์ง๋ค๋ฆญ ํด๋์ค Box๊ฐ ์ ์ธ๋์ด ์์ ๋, ์ง๋ค๋ฆญ ํด๋์ค Box์ ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋, ๊ฐ์ฒด๋ณ๋ก ๋ค๋ฅธ ํ์ ์ ์ง์ ํ๋ ๊ฒ์ ์ ์ ํ๋ค. ์ง๋ค๋ฆญ์ค๋ ์ด์ฒ๋ผ ์ธ์คํด์ค๋ณ๋ก ๋ค๋ฅด๊ฒ ๋์ํ๋๋ก ํ๋ ค๊ณ ๋ง๋ ๊ธฐ๋ฅ์ด๋๊น.๊ทธ๋ฌ๋ ๋ชจ๋ ๊ฐ์ฒด์ ๋ํด ๋์ผํ๊ฒ ๋์ํด์ผํ๋ static๋ฉค๋ฒ์
์ง๋ค๋ฆญ ํด๋์ค์ ๊ฐ์ฒด ์์ฑ๊ณผ ์ฌ์ฉ
๋ฉ์๋์ ์ ์ธ๋ถ์ ์ง๋ค๋ฆญ ํ์ ์ด ์ ์ธ๋ ๋ฉ์๋๋ฅด ์ง๋ค๋ฆญ ๋ฉ์๋๋ผ๊ณ ํ๋ค.Collections.sort()๊ฐ ๋ฐ๋ก ์ง๋ค๋ฆญ ๋ฉ์๋์ด๋ฉฐ, ์ง๋ค๋ฆญํ์ ์ ์ ์ธ ์์น๋ ๋ฐํ ํ์ ๋ฐ๋ก ์์ด๋ค.๋ฉ์๋ ํธ์ถํ ๋ ๋ง๋ค ํ์ ์ ๋์ ํด์ผ ๊ฐ๋ฅ ( ๋๋ถ๋ถ ์๋ต์ด ๊ฐ๋ฅํจ)๋ฉ์๋๋ฅผ ํธ์ถํ ๋
์ง๋ค๋ฆญ ํ์ ๊ณผ ์์ ํ์ ๊ฐ์ ํ๋ณํ์ ๋ฐ๋์ง ํ์ง ์๋ค. ( ๊ฒฝ๊ณ ๋ฐ์ )์ง๋ค๋ฆญ ํ์ ๊ณผ non-generic ํ์ ๊ฐ์ ํ๋ณํ์ ํญ์ ๊ฐ๋ฅํ๋ค. ๋ค๋ง ๊ฒฝ๊ณ ๊ฐ ๋ฐ์ํ ๋ฟ์ด๋ค.
์ด๊ฑฐํ(enum) ๊ด๋ จ๋ ์์๋ค์ ๊ฐ์ด ๋ฌถ์ด ๋์ ๊ฒ. JAVA๋ ํ์ ์ ์์ ํ ์ด๊ฑฐํ์ ์ ๊ณต
๋ถ์ฐ์์ ์ธ ์ด๊ฑฐํ ์์์ ๊ฒฝ์ฐ, ์ํ๋ ๊ฐ์ ๊ดํธ()์์ ์ ๋๋ค.๊ดํธ()๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด, ์ธ์คํด์ค ๋ณ์์ ์์ฑ์๋ฅผ ์๋ก ์ถ๊ฐํด ์ค์ผ ํ๋ค.์ด๊ฑฐํ์ ์์ฑ์๋ ๋ฌต์์ ์ผ๋ก private์ด๋ฏ๋ก, ์ธ๋ถ์์ ๊ฐ์ฒด์์ฑ ๋ถ๊ฐ
์ฃผ์์ฒ๋ผ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ํฅ์ ๋ฏธ์น์ง ์์ผ๋ฉฐ, ์ ์ฉํ ์ ๋ณด๋ฅผ ์ ๊ณตJAVA์์ ์ ๊ณตํ๋ ์ ๋ํ ์ด์ ์ค๋ฒ๋ผ์ด๋ฉ์ ์ฌ๋ฐ๋ฅด๊ฒ ํ๋์ง ์ปดํ์ผ๋ฌ๊ฐ ์ฒดํฌํ๊ฒ ํ๋ค.์ค๋ฒ๋ผ์ด๋ฉํ ๋ ๋ฉ์๋์ด๋ฆ์ ์๋ชป์ ๋ ์ค์๋ฅผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.์์ผ๋ก ์ฌ์ฉํ์ง ์์ ๊ฒ์ ๊ถ์ฅํ๋ ํ๋๋ ๋ฉ์๋์ ๋ถ
ํ๋ก์ธ์ค : ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ, ์์(resource)๊ณผ ์ฐ๋ ๋๋ก ๊ตฌ์ฑ์ฐ๋ ๋ : ํ๋ก์ธ์ค ๋ด์์ ์ค์ ์์ ์ ์ํ๋ชจ๋ ํ๋ก์ธ์ค๋ ์ต์ํ ํ๋์ ์ฐ๋ ๋๋ฅผ ๊ฐ์ง๊ณ ์๋ค.ํ๋ก์ธ์ค : ์ฐ๋ ๋ = ๊ณต์ฅ : ์ผ๊พผ์ฑ๊ธ ์ฐ๋ ๋ ํ๋ก์ธ์ค= ์์ + ์ฐ๋ ๋๋ฉํฐ ์ฐ๋ ๋ ํ๋ก์ธ์ค= ์์
Threadํด๋์ค๋ฅผ ์์Runnable ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํ ์ฐ๋ ๋๋ฅผ ์์ฑํ ํ์ start()๋ฅผ ํธ์ถํด์ผ ์ฐ๋ ๋๊ฐ ์์ ์ ์์ํ๋ค.
main ์ฐ๋ ๋ main๋ฉ์๋์ ์ฝ๋๋ฅผ ์ํํ๋ ์ฐ๋ ๋ ์ฐ๋ ๋๋ '์ฌ์ฉ์ ์ฐ๋ ๋'์ '๋ฐ๋ชฌ ์ฐ๋ ๋' ๋ ์ข ๋ฅ๊ฐ ์๋ค. >์คํ ์ค์ธ ์ฌ์ฉ์ ์ฐ๋ ๋๊ฐ ํ๋๋ ์์ ๋ ํ๋ก๊ทธ๋จ์ ์ข ๋ฃ๋๋ค. ์ฑ๊ธ์ฐ๋ ๋์ ๋ฉํฐ์ฐ๋ ๋ ์ฑ๊ธ์ฐ๋ ๋ ๋ฉํฐ์ฐ๋ ๋ ์ฐ๋ ๋์ I/O ๋ธ๋ฝํน(bloc
์์ ์ ์ค์๋์ ๋ฐ๋ผ ์ฐ๋ ๋์ ์ฐ์ ์์๋ฅผ ๋ค๋ฅด๊ฒ ํ์ฌ ํน์ ์ฐ๋ ๋๊ฐ ๋ ๋ง์ ์์ ์๊ฐ์ ๊ฐ๊ฒ ํ ์ ์๋ค.์คํ ์ฒ๋ฆฌ๊ฐ ์๊ธํ ๊ฒ๋ถํฐ ์ฐ์ ์์๋ฅผ ๋๊ฒ ๋ถ์ฌํ๋ ๊ฒ์ด ์ข๋ค.์๋์ฐ์ ๊ฒฝ์ฐ ๋ง์ฐ์ค์ ์ฐ์ ์์๊ฐ ๋งค์ฐ ๋๊ฒ ์ฒ๋ฆฌ๋์ด ์์.์๋ก ๊ด๋ จ๋ ์ฐ๋ ๋๋ฅผ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ด์ ๋ค๋ฃจ
์ผ๋ฐ ์ฐ๋ ๋(non-daemon thread)์ ์์ ์ ๋๋ ๋ณด์กฐ์ ์ธ ์ญํ ์ ์ํ.์ผ๋ฐ ์ค๋ ๋๊ฐ ๋ชจ๋ ์ข ๋ฃ๋๋ฉด ์๋์ ์ผ๋ก ์ข ๋ฃ๋๋ค.๊ฐ๋น์ง์ปฌ๋ ํฐ, ์๋์ ์ฅ, ํ๋ฉด ์๋๊ฐฑ์ ๋ฑ์ ์ฌ์ฉ๋๋ค.๋ฌดํ๋ฃจํ์ ์กฐ๊ฑด๋ฌธ์ ์ด์ฉํด์ ์คํ ํ ๋๊ธฐํ๋ค๊ฐ ํน์ ์กฐ๊ฑด์ด ๋ง์กฑ๋๋ฉด ์์ ์ ์ํํ๊ณ
ํ์ฌ ์ฐ๋ ๋๋ฅผ ์ง์ ๋ ์๊ฐ๋์ ๋ฉ์ถ๊ฒ ํ๋ค.static ๋ฉ์๋์ด๋ฉฐ ์๊ธฐ ์์ ์๊ฒ๋ง ๋์ํ๋ค.Tip) yild() : ์๋ณด, ๋ฉ์๋๋ ๋ง์ฐฌ๊ฐ์ง์ด๋ค.์์ธ์ฒ๋ฆฌ๋ฅผ ํด์ผํ๋ค.(InterruptedException ์ด ๋ฐ์ํ๋ฉด ๊นจ์ด๋จ)ํน์ ์ฐ๋ ๋๋ฅผ ์ง์ ํด์ ๋ฉ์ถ๊ฒ ํ๋ ๊ฒ์ ๋ถ๊ฐ
์ฐ๋ ๋์ ์คํ์ ์ผ์์ ์ง, ์ฌ๊ฐ, ์์ ์ ์ง ์ํจ๋ค.suspend(), resume(), stop()์ ๊ต์ฐฉ์ํ์ ๋น ์ง๊ธฐ ์ฌ์์ deprecated๋์๋ค.๋ฐ๋ผ์ ๊ตฌํํ๊ณ ์ ํ๋ค๋ฉด ๋ค์์ ์ฐธ๊ณ ํ์.
์ง์ ๋ ์๊ฐ๋์ ํน์ ์ฐ๋ ๋๊ฐ ์์ ํ๋ ๊ฒ์ ๊ธฐ๋ค๋ฆฐ๋ค.์์ธ ์ฒ๋ฆฌ๋ฅผ ํด์ผํ๋ค.(InterruptedException ์ด ๋ฐ์ํ๋ฉด ์์ ์ฌ๊ฐ)๋จ์ ์๊ฐ์ ๋ค์ ์ฐ๋ ๋์๊ฒ ์๋ณดํ๊ณ , ์์ (ํ์ฌ ์ฐ๋ ๋)์ ์คํ๋๊ธฐํ๋ค.static ๋ฉ์๋์ด๊ธฐ์ ์๊ธฐ ์์ ์๊ฒ๋ง ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
๋ฉํฐ ์ฐ๋ ๋ ํ๋ก์ธ์ค์๋ ๋ค๋ฅธ ์ฐ๋ ๋์ ์์ ์ ์ํฅ์ ๋ฏธ์น ์ ์๋ค.์งํ์ค์ธ ์์ ์ด ๋ค๋ฅธ ์ฐ๋ ๋์๊ฒ ๊ฐ์ญ๋ฐ์ง ์๊ฒ ํ๋ ค๋ฉด '๋๊ธฐํ'๊ฐ ํ์์ฐ๋ ๋์ ๋๊ธฐํ - ํ ์ฐ๋ ๋๊ฐ ์งํ์ค์ธ ์์ ์ ๋ค๋ฅธ ์ฐ๋ ๋๊ฐ ๊ฐ์ญํ์ง ๋ชปํ๊ฒ ๋ง๋ ๊ฒ๋๊ธฐํํ๋ ค๋ฉด ๊ฐ์ญ๋ฐ์ง ์์์ผ ํ๋ ๋ฌธ์ฅ๋ค์ '
๋๊ธฐํ์ ํจ์จ์ ๋์ด๊ธฐ ์ํด wait(), notify()๋ฅผ ์ฌ์ฉ.Objectํด๋์ค์ ์ ์๋์ด ์์ผ๋ฉฐ, ๋๊ธฐํ ๋ธ๋ก ๋ด์์๋ง ์ฌ์ฉํ ์ ์๋ค.wait()๊ฐ์ฒด์ lock์ ํ๊ณ ์ฐ๋ ๋๋ฅผ ํด๋น ๊ฐ์ฒด์ waiting pool์ ๋ฃ๋๋ค.notify()waiting pool์์
ํจ์(๋ฉ์๋)๋ฅผ ๊ฐ๋จํ ์(Expression)์ผ๋ก ํํํ๋ ๋ฐฉ๋ฒ( a, b ) -> a > b ? a : b์ต๋ช ํจ์(์ด๋ฆ์ด ์๋ ํจ์, anonymous function)( int a, int b ) -> { return a > b ? a : b; }ํจ์์ ๋ฉ์๋์
ํจ์ํ ์ธํฐํ์ด์ค : ๋จ ํ๋์ ์ถ์ ๋ฉ์๋๋ง ์ ์ธ๋ ์ธํฐํ์ด์คํจ์ํ ์ธํฐํ์ด์ค ํ์ ์ ์ฐธ์กฐ๋ณ์๋ก ๋๋ค์์ ์ฐธ์กฐํ ์ ์์.(๋จ, ํจ์ํ ์ธํฐํ์ด์ค์ ๋ฉ์๋์ ๋๋ค์์ ๋งค๊ฐ๋ณ์ ๊ฐ์์ ๋ฐํํ์ ์ด ์ผ์นํด์ผํจ)
๋งค๊ฐ๋ณ์๊ฐ 2๊ฐ์ธ ํจ์ํ ์ธํฐํ์ด์ค๋งค๊ฐ๋ณ์์ ํ์ ๊ณผ ๋ฐํํ์ ์ด ์ผ์นํ๋ ํจ์ํ ์ธํฐํ์ด์ค
Predicate์ ๊ฒฐํฉ and(), or(), negate()๋ก Predicate๋ฅผ ํ๋๋ก ๊ฒฐํฉ(default๋ฉ์๋) ๋ฑ๊ฐ๋น๊ต๋ฅผ ์ํ Predicate์ ์์ฑ์๋ isEqual()๋ฅผ ์ฌ์ฉ(static๋ฉ์๋)
๋ฉ์๋ ์ฐธ์กฐ(method reference) ํ๋์ ๋ฉ์๋๋ง ํธ์ถํ๋ ๋๋ค์์ '๋ฉ์๋ ์ฐธ์กฐ'๋ก ๊ฐ๋จํ ํ ์ ์๋ค.
๋ค์ํ ๋ฐ์ดํฐ ์์ค๋ฅผ ํ์คํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ค๋ฃจ๊ธฐ ์ํ ๊ฒ์คํธ๋ฆผ์ผ๋ก ์์ ํ๋ ๋ฐฉ๋ฒ(์์)์คํธ๋ฆผ ๋ง๋ค๊ธฐ์ค๊ฐ์ฐ์ฐ์ต์ข ์ฐ์ฐ์ค๊ฐ์ฐ์ฐ : ์ฐ์ฐ ๊ฒฐ๊ณผ๊ฐ ์คํธ๋ฆผ์ธ ์ฐ์ฐ. ๋ฐ๋ณต์ ์ผ๋ก ์ ์ฉ ๊ฐ๋ฅ์ต์ข ์ฐ์ฐ : ์ฐ์ฐ๊ฒฐ๊ณผ๊ฐ ์คํธ๋ฆผ์ด ์๋ ์ฐ์ฐ. ๋จ ํ๋ฒ๋ง ์ ์ฉ ๊ฐ๋ฅ(์คํธ๋ฆผ์ ์์๋ฅผ ์๋ชจ)strea
Collection ์ธํฐํ์ด์ค์ stream()์ผ๋ก ์ปฌ๋ ์ ์ ์คํธ๋ฆผ์ผ๋ก ๋ณํ๊ฐ์ฒด ๋ฐฐ์ด๋ก๋ถํฐ ์คํธ๋ฆผ ์์ฑํ๊ธฐ\-๊ธฐ๋ณธํ ๋ฐฐ์ด๋ก๋ถํฐ ์คํธ๋ฆผ ์์ฑํ๊ธฐ๋์๋ฅผ ์์๋ก ๊ฐ๋ ์คํธ๋ฆผ ์์ฑํ๊ธฐ์ง์ ๋ ๋ฒ์์ ๋์๋ฅผ ์์๋ก ๊ฐ๋ ์คํธ๋ฆผ์ ์์ฑํ๋ ๋ฉ์๋(Randomํด๋์ค)ํน์ ๋ฒ์์ ์ ์
์คํธ๋ฆผ์ด ์ ๊ณตํ๋ ๊ธฐ๋ฅ : ์ค๊ฐ ์ฐ์ฐ๊ณผ ์ต์ข ์ฐ์ฐ์ค๊ฐ ์ฐ์ฐ : ์ฐ์ฐ๊ฒฐ๊ณผ๊ฐ ์คํธ๋ฆผ์ธ ์ฐ์ฐ. ๋ฐ๋ณต์ ์ผ๋ก ์ ์ฉ ๊ฐ๋ฅ์ต์ข ์ฐ์ฐ : ์ฐ์ฐ๊ฒฐ๊ณผ๊ฐ ์คํธ๋ฆผ์ด ์๋ ์ฐ์ฐ. ๋จ, ํ๋ฒ๋ง ์ ์ฉ ๊ฐ๋ฅ(์คํธ๋ฆผ์ ์์๋ฅผ ์๋ชจ)
์ถ๊ฐ ์ ๋ ฌ ๊ธฐ์ค์ ์ ๊ณตํ ๋๋ thenComparing()์ ์ฌ์ฉ
์คํธ๋ฆผ์ ์์ ๋ณํํ๊ธฐ - map() ex)ํ์ผ ์คํธ๋ฆผ(Stream``)์์ ํ์ผ ํ์ฅ์ (๋๋ฌธ์)๋ฅผ ์ค๋ณต์์ด ๋ฝ์๋ด๊ธฐ map() ์์ ์คํธ๋ฆผ์ ์์๋ฅผ ์๋นํ์ง ์๊ณ ์ฟ๋ณด๊ธฐ - peek() peek()์์ ์คํธ๋ฆผ์ ์คํธ๋ฆผ์ ์คํธ๋ฆผ์ผ๋ก ๋ณํ -flatMap() flatMap() ์์
์ง๊ธ๊น์ง ๋์ ๋ค๋ฃจ๋ ค๋ฉด 1.nullPopintException2.null์ if๋ฌธ์ผ๋ก ์ฒดํฌํ์ฌ ์ฌ์ฉํ์์Optional<String> optVal = null; //๋๋ก ์ด๊ธฐํ, ๋ฐ๋์งํ์ง ์์Optional<String> optVal = Optional.&
์คํธ๋ฆผ? ์ผ! ๋๋ ํ ์ ์์ด
Stream? ์ผ! ๋๋ ํ ์ ์์ด
JAVA StringBuffer, StringBuilder์ ๋ํด์ ์์๋ด ์๋ค. :)