"์๋ ํ์ธ์, ์๋ฏธ๊ณ ! ์ ๋ ์ค๋ ๊ฐ์๋ฅผ ์บก์ํ ์ ๋ฐ์น๊ณ ์ถ์ต๋๋ค . ๋น์ ์ ์ด๋ฏธ ๊ทธ๊ฒ์ด ๋ฌด์์ธ์ง์ ๋ํ ์ผ๋ฐ์ ์ธ ์๊ฐ์ ๊ฐ์ง๊ณ ์์ต๋๋ค."
์บก์ํ์ ์ฅ์ ์ ๋ฌด์์ ๋๊น? ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ง๋ง ๋ด ์๊ฐ์ ๊ฐ์ฅ ์ค์ํ ๋ค ๊ฐ์ง๋ฅผ ์ง์ ํ๊ฒ ์ต๋๋ค.
1) ์ ํจํ ๋ด๋ถ ์ํ.
ํ๋ก๊ทธ๋จ์๋ ๋์ผํ ๊ฐ์ฒด์ ์ํธ ์์ฉํ๋ ์ฌ๋ฌ ํด๋์ค๊ฐ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๊ฐ์ฒด์ ๋ด๋ถ ๋ฐ์ดํฐ์ ๋์์ ์ํธ ์์ฉํจ์ผ๋ก์จ ๊ฐ์ฒด์ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ์๋ฐํ์ฌ ๊ฐ์ฒด๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ์ง ์๋๋ก ํ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ ๊ฐ์ฒด๋ ๋ด๋ถ ๋ฐ์ดํฐ์ ๋ํ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ถ์ ํด์ผ ํฉ๋๋ค. ๋ ๋์๊ฐ ์ด๋ฌํ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํด์ผ ํฉ๋๋ค.
์ผ๋ถ ํด๋์ค ๋ณ์๊ฐ ๋ค๋ฅธ ํด๋์ค์ ์ํด ๋ณ๊ฒฝ๋๋ ๊ฒ์ ์ํ์ง ์์ผ๋ฉด ํด๋น ๋ณ์๋ฅผ private ๋ก ์ ์ธํฉ๋๋ค . ์ฆ, ํด๋น ํด๋์ค์ ๋ฉ์๋๋ง ์ก์ธ์คํ ์ ์์ต๋๋ค. ๋ณ์๊ฐ ๋ค๋ฅธ ํด๋์ค์ ๋ํด ์ฝ๊ธฐ ์ ์ฉ์ด ๋๋๋ก ํ๋ ค๋ฉด ์ด๋ฌํ ๋ณ์์ public getter๋ฅผ ์ถ๊ฐํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์ปฌ๋ ์ ์ ์ผ๋ง๋ ๋ง์ ์์๊ฐ ์๋์ง ๋ชจ๋ ์ฌ๋์ด ์๊ธฐ๋ฅผ ์ํ ์ ์์ง๋ง ์๋ฌด๋ ์ฐ๋ฆฌ์ ํ๋ฝ ์์ด ๋ณ๊ฒฝํ ์ ์์ด์ผ ํฉ๋๋ค. ์ด ๊ฒฝ์ฐ์๋ private int count ๋ณ์ ์ public getCount() ๋ฉ์๋๋ฅผ ์ ์ธํฉ๋๋ค .
์ ์ ํ ์บก์ํ ๋ ๋ค๋ฅธ ํด๋์ค๊ฐ ์ฐ๋ฆฌ ํด๋์ค์ ๋ด๋ถ ๋ฐ์ดํฐ์ ์ง์ ์ก์ธ์คํ ์ ์๋๋ก ๋ณด์ฅํ๋ฏ๋ก ์ฐ๋ฆฌ๊ฐ ๊ทธ๋ค์ ์์ ์ ์ ์ดํ ์ ์๋ ์ํ์์ ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๋ณ๊ฒฝ๋ ๋ณ์๊ฐ ํฌํจ๋ ํด๋์ค์ ๋ฉ์๋๋ฅผ ํธ์ถํด์ผ ํฉ๋๋ค.
๋ค๋ฅธ ํ๋ก๊ทธ๋๋จธ๊ฐ ๊ทํ(๋๋ ๊ทํ์ ํด๋์ค)์๊ฒ ๊ฐ์ฅ ์์ ํ ๋ฐฉ์์ด ์๋๋ผ ํญ์ ์์ ์๊ฒ ๊ฐ์ฅ ํธ๋ฆฌํ ๋ฐฉ์์ผ๋ก ๊ทํ์ ํด๋์ค๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๋ผ๊ณ ๊ฐ์ ํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค. ์ด๊ฒ์ ๋ฒ๊ทธ์ ์์ธ์ด๋ฉฐ ๋ฒ๊ทธ๋ฅผ ๋ฐฉ์งํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
2) ํ๋ผ๋ฏธํฐ ํ์ธ.
๋๋ก๋ ํด๋์ค์ ๋ฉ์๋์ ์ ๋ฌ๋ ๋งค๊ฐ๋ณ์๋ฅผ ํ์ธํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด "์ฌ๋"์ ๋ํ๋ด๋ ํด๋์ค๊ฐ ์๊ณ ํด๋น ํด๋์ค์ ์๋ ์์ผ์ ์ง์ ํ ์ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ์ ๋ฌ๋ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ํ๋ก๊ทธ๋จ์ ๋ ผ๋ฆฌ ๋ฐ ํด๋์ค์ ๋ ผ๋ฆฌ์ ์ผ์นํ๋์ง ํ์ธํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, 13๋ฒ์งธ ๋ฌ, 2์ 30์ผ ๋ฑ์ด ์์ต๋๋ค.
"์๋ ์์ผ์ 2์ 30์ผ๋ก ํ์ํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?"
"์, ์ฐ์ ๋ฐ์ดํฐ ์ ๋ ฅ ์ค๋ฅ์ ๊ฒฐ๊ณผ์ผ ์ ์์ต๋๋ค."
๋์งธ, ํ๋ก๊ทธ๋จ์ด ์๊ณ์ฒ๋ผ ์๋ํ๊ธฐ ์ ์ ๋ง์ ๋ฒ๊ทธ๊ฐ ์์ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ด๋ฐ ์ผ์ด ์ผ์ด๋ ์ ์์ต๋๋ค.
ํ๋ก๊ทธ๋๋จธ๋ ๋ชจ๋ ์์ผ์ ๊ฐ์ง ์ฌ๋์ ๊ฒฐ์ ํ๋ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. ์ค๋์ด 3์ 3์ผ์ด๋ผ๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์ด ํ๋ก๊ทธ๋จ์ ํ์ฌ ๋ ์ง์ 2๋ฅผ ๋ํ๊ณ 3์ 5์ผ์ ํ์ด๋ ๋ชจ๋ ์ฌ๋์ ์ฐพ์ต๋๋ค.
๊ทธ๋ฌ๋ 3์ 30์ผ์ด ๋๋ฉด ํ๋ก๊ทธ๋จ์ 3์ 32์ผ์ด ์๊ธฐ ๋๋ฌธ์ ์๋ฌด๋ ์ฐพ์ง ์์ต๋๋ค. ๋ฉ์๋๊ฐ ๋งค๊ฐ๋ณ์ ๊ฒ์ฌ๋ฅผ ์ํํ ๋ ํ๋ก๊ทธ๋จ์ ๋ฒ๊ทธ๊ฐ ํจ์ฌ ์ ์ต๋๋ค.
"ArrayList๋ฅผ ์ฐ๊ตฌํ์ ๋ ๊ทธ ์ฝ๋๋ฅผ ์ดํด๋ณด์๊ณ ์ธ๋ฑ์ค ๋งค๊ฐ๋ณ์๊ฐ 0๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ ๋ฐฐ์ด์ ๊ธธ์ด๋ณด๋ค ์์์ง ํ์ธํ๊ธฐ ์ํด get ๋ฐ set ๋ฉ์๋๋ฅผ ํ์ธํ์ต๋๋ค. ์ฝ๋๋ ์ค๋ฅ๋ฅผ ๋์ง ๊ฒ์ ๋๋ค. ๋ฐฐ์ด์ ์ธ๋ฑ์ค์ ํด๋นํ๋ ์์๊ฐ ์์ผ๋ฉด ์์ธ์ ๋๋ค.
"๊ทธ๋, ๊ทธ๊ฒ ๊ณ ์ ์ ์ธ ์ ๋ ฅ ํ์ธ์ด์ผ. "
3) ํด๋์ค ๋ด์์ ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ ๋ ๋ฒ๊ทธ๊ฐ ์ ์ต๋๋ค.
๊ฑฐ๋ํ ํ๋ก์ ํธ์ ์ผ๋ถ๋ก ์ ๋ง ์ ์ฉํ ํด๋์ค๋ฅผ ์์ฑํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ๋ชจ๋๊ฐ ๊ทธ๊ฒ์ ๋๋ฌด ์ข์ํด์ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋จธ๋ค์ด ๊ทธ๋ค ์์ ์ ์ฝ๋์์ ์๋ฐฑ ๊ณณ์์ ๊ทธ๊ฒ์ ์ฌ์ฉํ๊ธฐ ์์ํ์ต๋๋ค.
์์ ์ด ๋๋ฌด ์ ์ฉํด์ ๊ฐ์ ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ๊ทธ๋ฌ๋ ํด๋์ค์์ ๋ฉ์๋๋ฅผ ์ ๊ฑฐํ๋ฉด ์์ญ ๋ช ์ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋จธ์ ์ฝ๋๊ฐ ๋ ์ด์ ์ปดํ์ผ๋์ง ์์ต๋๋ค. ๊ทธ๋ค์ ์ ์ํ๊ฒ ์ฝ๋๋ฅผ ๋ค์ ์์ฑํด์ผ ํฉ๋๋ค. ์ฌ์์ฑ ํ์๊ฐ ๋ง์์๋ก ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ๋์์ง๋๋ค. ๋น๋๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ๊นจ๋จ๋ฆฌ๋ฉด ๋ฏธ์์ ๋ฐ๊ฒ ๋ฉ๋๋ค.
๊ทธ๋ฌ๋ ๋น๊ณต๊ฐ๋ก ํ์๋ ๋ฉ์๋๋ฅผ ๋ณ๊ฒฝํ๋ฉด ์ด๋ฌํ ๋ฉ์๋๊ฐ ์ด๋์์๋ ๋ค๋ฅธ ์ฌ๋์ ์ฝ๋์ ์ํด ํธ์ถ๋์ง ์๋๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค. ๋ค์ ์์ฑํ ์ ์๊ณ ๋งค๊ฐ๋ณ์์ ์์ ์ ํ์ ๋ณ๊ฒฝํ ์ ์์ผ๋ฉฐ ์ข ์ ์ฝ๋๋ ๊ณ์ ์๋ํฉ๋๋ค. ๋๋ ์ ์ด๋ ์ฌ์ ํ ์ปดํ์ผ๋ฉ๋๋ค.
4) ๋ค๋ฅธ ๊ฐ์ฒด๊ฐ ์ฐ๋ฆฌ ๊ฐ์ฒด์ ์ํธ ์์ฉํ๋ ๋ฐฉ์์ ์ ์ํฉ๋๋ค.
๊ฐ์ฒด์ ๋ํด ์ํํ ์ ์๋ ์์ ์ ์ ํํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ํ๋ก์ ํธ์ ์ฌ๋ฌ ์์น์์ ๋์์ ์์ฑ๋๋๋ผ๋ ํด๋์ค์ ์ธ์คํด์ค ํ๋๋ง ์์ฑ๋๊ธฐ๋ฅผ ์ํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์บก์ํ๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฅผ ๋ฌ์ฑํ ์ ์์ต๋๋ค.
์บก์ํ๋ฅผ ์ฌ์ฉํ๋ฉด ์ถ๊ฐ์ ์ธ ์ด์ ์ด ๋ ์ ์๋ ์ถ๊ฐ ์ ํ ์ฌํญ์ ์ ์ฉํ ์ ์์ต๋๋ค . ์๋ฅผ ๋ค์ด String ํด๋์ค๋ ๋ณ๊ฒฝํ ์ ์๋ ๊ฐ์ฒด๋ก ๊ตฌํ๋ฉ๋๋ค. String ํด๋์ค์ ์ธ์คํด์ค๋ ์์ฑ๊ณผ ์๋ฉธ ์ฌ์ด์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. String ํด๋์ค์ ๋ชจ๋ ๋ฉ์๋(remove, substring, ...)๋ ์ ๋ฌธ์์ด์ ๋ฐํํ๋ฉฐ ํธ์ถ๋ ๊ฐ์ฒด๋ฅผ ๋ณ๊ฒฝํ์ง ์์ต๋๋ค.
"์ด๋ฐ ์์. ๊ทธ๋์ ๊ทธ๋ฐ ๊ฑฐ์ผ."
"์บก์ํ๊ฐ ํฅ๋ฏธ๋กญ์ต๋๋ค."
"๋๋ ๋์ํ๋ค."