- MVC ๋ ๋ฌด์์ ๋๊น ?
- DAO ์ DTO ๋ ๋ฌด์์ ๋๊น ?
- POJO ๋ ๋ฌด์์ ๋๊น ?
- ์ํฐํฐ ๋ ๋ฌด์์ ๋๊น ?
- ์ด๋ค ๋ชฉ๋ก ๋ชจ์์ ์๊ณ ์๋์?
- ์ด๋ค ์ปฌ๋ ์ ์ธํธ๋ฅผ ์๊ณ ์๋์?
- ์ง๋ ๋ ๋ฌด์์ด๋ฉฐ , " ์ฌ์ " ๊ณผ ์ด๋ป๊ฒ ๋ค๋ฆ ๋๊น ?
- ๋๊ธฐ์ด ๊ณผ ๋๊ธฐ์ด ์ ๊ฑฐ ๋ ๋ฌด์์ ๋๊น ?
- Queeue ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ํด๋์ค๋ฅผ ์๊ณ ์์ต๋๊น?
- ๋๋ฌด ๋ ๋ฌด์์ธ๊ฐ ?
-
MVC ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ชจ๋ธ, ๋ทฐ, ์ปจํธ๋กค๋ฌ์ ์ธ ๊ฐ์ง ๊ฐ๋ณ ๋ถ๋ถ์ผ๋ก ๋๋์ด์ง๋ ์ ํ๋ฆฌ์ผ์ด์ ๋์์ธ ํจํด์ ๋๋ค. ๋ชจ๋ธ์ ์ํ๋ฅผ ๋ณ๊ฒฝํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ๊ณ ์ปจํธ๋กค๋ฌ ๋ช ๋ น์ ์๋ตํฉ๋๋ค. ๋ทฐ๋ ์ฌ์ฉ์์๊ฒ ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๊ณ ๋ชจ๋ธ์ ๋ณ๊ฒฝ ์ฌํญ์ ์๋ตํ๋ ์ญํ ์ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ปจํธ๋กค๋ฌ๋ ์ฌ์ฉ์์ ํ๋์ ํด์ํ์ฌ ๋ชจ๋ธ์ ๋ณ๊ฒฝ์ด ํ์ํจ์ ์๋ฆฝ๋๋ค. ๋ฐ๋ผ์ ์ด ํ๋ก์ ๊ฐ ๊ตฌ์ฑ ์์๋ ๋ค๋ฅธ ๊ตฌ์ฑ ์์์ ๋์จํ๊ฒ ๊ฒฐํฉ๋์ด ํ๋ก๊ทธ๋จ ์ ์ฐ์ฑ์ ๋ฌ์ฑํฉ๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๋ชจ๋ ๋น์ฆ๋์ค ๋ก์ง์ด ๋ชจ๋ธ์ ํฌํจ๋์ด ์์ง๋ง ๋๋ก๋ ์ปจํธ๋กค๋ฌ์๋ ํฌํจ๋์ด ์์ต๋๋ค. ์ฒซ ๋ฒ์งธ ๊ฒฝ์ฐ ๋ชจ๋ธ์ ์๊ณ ํ์์์๋ ๋๊บผ์ด ๋ชจ๋ธ์ด๋ผ๊ณ ํฉ๋๋ค.
-
DAO (Data Access Object)๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ฒ์ํ๋ ๊ฒ์ด ์ฃผ์ ์์ ์ธ ๊ฐ์ฒด์ ๋๋ค. DTO(Data Transfer Object)๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋๋ก ์ค๊ณ๋ ๊ฐ์ฒด์ ๋๋ค. ๋ฐ๋ผ์ ์ฃผ์ ์๋ฌด๋ ์ด ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ฒ์ ๋๋ค. ์ด๋ค ๋ ผ๋ฆฌ๋ ํฌํจ๋์ด ์์ง ์์ต๋๋ค. ๋ํ ๊ฐ์ฒด ์ ์ก์ ์ผ๋ฐ์ ์ผ๋ก ์ง๋ ฌํ-์ญ์ง๋ ฌํ๋ฅผ ํตํด ๋ฐ์ํ๋ฏ๋ก ์ง๋ ฌํ ๊ฐ๋ฅํด์ผ ํฉ๋๋ค.
-
POJO๋ "Old Style Java Object"๋ฅผ ์๋ฏธํฉ๋๋ค. ์ด๋ EJB ๊ฐ์ฒด์ ๋์กฐ๋ฉ๋๋ค. ํ์๋ ํน๋ณํ ๊ท์น์ ๋ฐ๋ฅด๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก ํน์ ์ํฐํ๋ผ์ด์ฆ ํ๋ ์์ํฌ์ ์๊ฒฉํ๊ฒ ์ฐ๊ฒฐ๋ฉ๋๋ค(์๋ฅผ ๋ค์ด ๋งค๊ฐ ๋ณ์๊ฐ ์๋ ๊ณต๊ฐ ์์ฑ์๊ฐ ์์ด์ผ ํ๊ณ ํ๋์ ๋ํ getter ๋ฐ setter๊ฐ ์์ด์ผ ํ๋ฉฐ ์ง๋ ฌํ ๊ฐ๋ฅํด์ผ ํฉ๋๋ค ๋ฑ). ๋ฐ๋ผ์ POJO๋ ํน์ ํด๋์ค๋ก๋ถํฐ ์์๋ฐ์ง ์๊ณ ํน์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ตฌํํ์ง ์๋ ์ผ๋ฐ ํด๋์ค์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก POJO๋ ํน๋ณํ ์์ ์ ์ํํ์ง ์๊ณ ์ํ๋ง ํฌํจํฉ๋๋ค.
-
Entity Bean โ ััะพ ะฑะธะฝ, ัะตะปั ะบะพัะพัะพะณะพ ั ัะฐะฝะธัั ะฝะตะบะพัะพััะต ะดะฐะฝะฝัะต. ะ ะปะพะณะธะบั ัะฐะบะพะณะพ ะฑะธะฝะฐ ะฒัััะพะตะฝ ะผะตั ะฐะฝะธะทะผ ัะพั ัะฐะฝะตะฝะธั ัะตะฑั ะธ ัะฒะพะธั ะฟะพะปะตะน ะฒ ะฑะฐะทั ะดะฐะฝะฝัั . ะขะฐะบะพะน an object ะผะพะถะตั ะฑััั ัะฝะธััะพะถะตะฝ, ะฐ ะฟะพัะพะผ ะฒะพััะพะทะดะฐะฝ ะธะท ะฑะฐะทั ะทะฐะฝะพะฒะพ. ะะพ ะบัะพะผะต ั ัะฐะฝะตะฝะธั ะดะฐะฝะฝัั ั ะฝะตะณะพ ะฝะตั ะฝะธHowะพะน ะปะพะณะธะบะธ. ะ ะฑะธะฝ ะฒ ัะฒะพั ะพัะตัะตะดั โ ััะพ ะพัะพะฑัะน ะบะปะฐัั, ะบะพัะพััะต ะดะพะปะถะตะฝ ะฒัะฟะพะปะฝััั ัะปะตะดัััะธะต ะฟัะฐะฒะธะปะฐ:
- ะะปะฐัั ะดะพะปะถะตะฝ ะธะผะตัั ะบะพะฝััััะบัะพั ะฑะตะท ะฟะฐัะฐะผะตััะพะฒ, ั ะผะพะดะธัะธะบะฐัะพัะพะผ ะดะพัััะฟะฐ public. ะขะฐะบะพะน ะบะพะฝััััะบัะพั ะฟะพะทะฒะพะปัะตั ะธะฝััััะผะตะฝัะฐะผ ัะพะทะดะฐัั an object ะฑะตะท ะดะพะฟะพะปะฝะธัะตะปัะฝัั ัะปะพะถะฝะพััะตะน ั ะฟะฐัะฐะผะตััะฐะผะธ.
- ะกะฒะพะนััะฒะฐ ะบะปะฐััะฐ ะดะพะปะถะฝั ะฑััั ะดะพัััะฟะฝั ัะตัะตะท get, set ะธ ะดััะณะธะต ะผะตัะพะดั (ัะฐะบ ะฝะฐะทัะฒะฐะตะผัะต ะผะตัะพะดั ะดะพัััะฟะฐ), ะบะพัะพััะต ะดะพะปะถะฝั ะฟะพะดัะธะฝััััั ััะฐะฝะดะฐััะฝะพะผั ัะพะณะปะฐัะตะฝะธั ะพะฑ ะธะผะตะฝะฐั . ะญัะพ ะปะตะณะบะพ ะฟะพะทะฒะพะปัะตั ะธะฝััััะผะตะฝัะฐะผ ะฐะฒัะพะผะฐัะธัะตัะบะธ ะพะฟัะตะดะตะปััั ะธ ะพะฑะฝะพะฒะปััั ัะพะดะตัะถะฐะฝะธะต beanโะพะฒ. ะะฝะพะณะธะต ะธะฝััััะผะตะฝัั ะดะฐะถะต ะธะผะตัั ัะฟะตัะธะฐะปะธะทะธัะพะฒะฐะฝะฝัะต ัะตะดะฐะบัะพัั ะดะปั ัะฐะทะปะธัะฝัั ัะธะฟะพะฒ ัะฒะพะนััะฒ.
- ะะปะฐัั ะดะพะปะถะตะฝ ะฑััั ัะตัะธะฐะปะธะทัะตะผ. ะญัะพ ะดะฐัั ะฒะพะทะผะพะถะฝะพััั ะฝะฐะดัะถะฝะพ ัะพั ัะฐะฝััั, ั ัะฐะฝะธัั ะธ ะฒะพัััะฐะฝะฐะฒะปะธะฒะฐัั ัะพััะพัะฝะธะต bean ะฝะตะทะฐะฒะธัะธะผัะผ ะพั ะฟะปะฐััะพัะผั ะธ ะฒะธัััะฐะปัะฝะพะน ะผะฐัะธะฝั ัะฟะพัะพะฑะพะผ.
- ะะปะฐัั ะดะพะปะถะตะฝ ะธะผะตัั ะฟะตัะตะพะฟัะตะดะตะปะตะฝะฝัะต ะผะตัะพะดั equals(), hashCode() ะธ toString().
-
ะัะต ะบะพะปะปะตะบัะธะธ-ัะฟะธัะบะธ ัะตะฐะปะธะทััั ะธะฝัะตััะตะนั List<E> ะธ ะฝะฐัะปะตะดััััั ะพั ะฐะฑัััะฐะบัะฝะพะณะพ ะบะปะฐััะฐ AbstractList<E>. ะกัะตะดะธ ะฝะธั ะผะพะถะฝะพ ะฒัะดะตะปะธัั ArrayList<E> ะธ LinkedList<E7gt;. ArrayList7lt;E> โ ััะพ ัะฟะธัะพะบ, ะพัะฝะพะฒะฐะฝัะน ะฝะฐ ะผะฐััะธะฒะต, ะฐ LinkedList<E> โ ััะพ ะบะปะฐััะธัะตัะบะธะน ะดะฒััะฒัะทะฝัะน ัะฟะธัะพะบ.
-
ะะพะปะปะตะบัะธะธ-ะผะฝะพะถะตััะฒะฐ ะฒ Java ัะตะฐะปะธะทััั ะธะฝัะตััะตะนั Set<E> ะธ ะฝะฐัะปะตะดััััั ะพั AbstractSet<E>. ะะฝะพะถะตััะฒะฐ โ ััะพ ัะฐะบะธะต ะฝะฐะฑะพัั ะดะฐะฝะฝัั , ะฒ ะบะพัะพััั ะฒัะต ัะปะตะผะตะฝัั ัะฝะธะบะฐะปัะฝั. ะกัะตะดะธ ะฝะธั ะฒ Java ะตััั HashSet, LinkedHashSet ะธ TreeSet. ะะตัะฒะฐั ะบะพะปะปะตะบัะธั ั ัะฐะฝะธั ัะฒะพะธ an objectั ะฝะฐ ะพัะฝะพะฒะต ั ะตั-codeะพะฒ. ะัะพัะฐั โ ััะพ ะผะพะดะธัะธัะธัะพะฒะฐะฝะฝะฐั ะฟะตัะฒะฐั, ะฒ ะฝะตะน ัะปะตะผะตะฝัั ะตัั ะบ ัะพะผั ะถะต ัะฐัะฟะพะปะฐะณะฐัััั ะฒ ัะฒัะทะฝะพะผ ัะฟะธัะบะต, ะฟะพััะพะผั ะพะฝะธ ะฒัะต ัะฐัะฟะพะปะพะถะตะฝั ะฒ ะฟะพััะดะบะต ะดะพะฑะฐะฒะปะตะฝะธั. ะขัะตััั ะบะพะปะปะตะบัะธั ะพะฑะตัะฟะตัะธะฒะฐะตั ัะพััะธัะพะฒะบั ัะฒะพะธั ัะปะตะผะตะฝัะพะฒ.
-
Map โ ััะพ ะฒะธะด ะบะพะปะปะตะบัะธะน, ั ัะฐะฝััะธั ัะฒะพะธ ัะปะตะผะตะฝัั ะฒ ะฒะธะดะต ะฟะฐั "ะบะปัั-ะทะฝะฐัะตะฝะธั". ะัะธััะผ ะฒัะต ะบะปััะธ ะดะพะปะถะฝั ะฑััั ัะฝะธะบะฐะปัะฝัะผะธ. ะกัะตะดะธ ัะตะฐะปะธะทะฐัะธะน ะตััั HashMap ะธ TreeMap. ะะตัะฒะฐั ัะตะฐะปะธะทะฐัะธั ั ัะฐะฝะธั ัะปะตะผะตะฝัั ั ะธัะฟะพะปัะทะพะฒะฐะฝะธะตะผ ั ัั-codeะพะฒ. ะัะพัะฐั - ั ัะฐะฝะธั ัะปะตะผะตะฝัั ะฒ ะพััะพััะธัะพะฒะฐะฝะฝะพะผ ะฟะพ ะบะปััั ะฟะพััะดะบะต.
-
ํ๋ ์ ์ ์ ์ถ ๋ฐฉ์์ผ๋ก ์๋ํ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋๋ค. ์ฆ, ์์๋ ํ์ ํ์ชฝ ๋์์ ์ถ๊ฐ๋๊ณ ๋ค๋ฅธ ์ชฝ ๋์์๋ ์ ๊ฑฐ๋ฉ๋๋ค. Deque ๋ ์๋ฐฉํฅ ๋๊ธฐ์ด์ ๋๋ค. ์ด ๋๊ธฐ์ด์์๋ ์์๋ฅผ ์์๊ณผ ๋ ๋ชจ๋์ ์ถ๊ฐํ ์ ์์ผ๋ฉฐ ๋๊ธฐ์ด์ ์์๊ณผ ๋ ๋ชจ๋์์ ์์๋ฅผ ๊ฐ์ ธ์ฌ ์๋ ์์ต๋๋ค. ๋ฐ๋ผ์ ์์๋ฅผ ์ถ๊ฐํ ์ ์๋ ๋ฉ์๋(add(e) ๋ฐ Offer(e) ๋ฉ์๋)๊ฐ ์๊ณ ๋๊ธฐ์ด์์ ์์๋ฅผ ์ ๊ฑฐํ ์ ์๋ ๋ฉ์๋(remove( ) ๋ฐ ์ค๋ฌธ์กฐ์ฌ()). ๋ํ ๋๊ธฐ์ด์์ ์์๋ฅผ ์ ๊ฑฐํ์ง ์๊ณ ๊ฐ๋จํ ๋๊ธฐ์ด์์ ์์๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ ๋ฉ์๋๊ฐ ์์ต๋๋ค(element() ๋ฐ peek() ๋ฉ์๋). Deque ์ธํฐํ์ด์ค์๋ ํ์ ์์๊ณผ ๋์ ์์๋ฅผ ์ถ๊ฐํ๊ณ , ์์์ด๋ ๋์์ ์์๋ฅผ ๊ฒ์ํ๊ณ , ํ์ ์์์ด๋ ๋์์ ์์๋ฅผ ๊ฐ์ ธ์ค๋(ํ์์ ์์๋ฅผ ์ ๊ฑฐํ์ง ์๊ณ ) ์ถ๊ฐ๋ก ๋ฉ์๋๊ฐ ์์ต๋๋ค.
-
๊ฐ๋จํ ๊ตฌํ์๋ ArrayDeque , LinkedList ๋ฐ PriorityQueue ๊ฐ ํฌํจ๋ฉ๋๋ค . ๋์ ์ปฌ๋ ์ ์๋ ์ด ๋ ์ธํฐํ์ด์ค(๋ ๋ค ๋์์ ๋๋ ๋ ์ค ํ๋๋ง)๋ฅผ ๊ตฌํํ๋ ๋ง์ ํด๋์ค๋ ์์ต๋๋ค.
-
ํธ๋ฆฌ๋ ๋ฃจํ๋ ๋ค์ค ๊ฐ์ ์ด ์๋ ์ฐ๊ฒฐ๋ ๊ทธ๋ํ์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ํธ๋ฆฌ์ N๊ฐ์ ์ ์ ์ด ์๋ ๊ฒฝ์ฐ ๊ฐ์ฅ์๋ฆฌ ์๋ ์ต์ํ N-1์ ๋๋ค. ๋ํ ํธ๋ฆฌ์ ํ ์ ์ ์ด ๋ฃจํธ๋ก ์ ํ๋ฉ๋๋ค. ๋๋จธ์ง ์ ์ ์ ๋ถ๊ธฐ๋ก ์ ์ธ๋ฉ๋๋ค. ์ค์ค๋ก ๊ฐ์ง๊ฐ ์๋ ๊ฐ์ง๋ฅผ ๋๋ญ์์ด๋ผ๊ณ ํฉ๋๋ค.
ํธ๋ฆฌ๋ ํ๋ก๊ทธ๋๋ฐ์์ ๋งค์ฐ ๊ด๋ฒ์ํ๊ฒ ์ฌ์ฉ๋๋ฉฐ ์ด ํธ๋ฆฌ์ ๋ง์ ์ ํ์ด ์ด๋ฏธ ๋ฐ๋ช ๋์์ต๋๋ค. ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ํธ๋ฆฌ ์ค ํ๋๋ ์ด์ง ํธ๋ฆฌ์ ๋๋ค. ์ด ํธ๋ฆฌ์์ ๊ฐ ์์์๋ ์ต๋ 2๊ฐ์ ํ์ ์์๊ฐ ์์ต๋๋ค(์ฆ, 0์์ 2๊น์ง ์์ ์ ์์). ์ด์ง ํธ๋ฆฌ์ ํ ์ ํ์ BST(์ด์ง ๊ฒ์ ํธ๋ฆฌ)์ ๋๋ค. ์ด ํธ๋ฆฌ์์๋ ์์์ ๊ท์น์ด ์ ์ฉ๋ฉ๋๋ค. ์ฆ, ์์์ ์ผ์ชฝ ์์์ ๊ฐ์ด ํด๋น ์์๋ณด๋ค ์์์ผ ํ๊ณ , ์ค๋ฅธ์ชฝ ์์์ ๊ฐ์ด ๊ทธ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์์ผ ํฉ๋๋ค.
๋ ๋-๋ธ๋ ๋๋ฌด๋ ์์ต๋๋ค. ์ด๊ฒ์ ์ด์ง ๊ฒ์ ํธ๋ฆฌ์ ํ ์ ํ์ ๋๋ค. ๋ ๋-๋ธ๋ ํธ๋ฆฌ์๋ ์์์ ๋ ๋ค๋ฅธ ์์ฑ์ธ ์์์ด ๋์ ๋ฉ๋๋ค. ์์์ ๊ฒ์ ์ ๋๋ ๋นจ๊ฐ์์ผ ์ ์์ต๋๋ค. ๋ํ ๊ฐ ๋ ๋-๋ธ๋ ํธ๋ฆฌ๋ ๋ค์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํด์ผ ํฉ๋๋ค.- ๋๋ฌด์ ๋ฟ๋ฆฌ๋ ๊ฒ์์์ด๋ค.
- ๋ ธ๋๋ ๋นจ๊ฐ์์ด๊ฑฐ๋ ๊ฒ์์์ ๋๋ค.
- ๋๋ฌด์ ๋ชจ๋ ์์ ๊ฒ์์์ด๋ค.
- ๋ ๋ ๋ ธ๋์ ๋ ์์์ ๋ชจ๋ ๋ธ๋์ด๋ค;
- ์ฃผ์ด์ง ๋ ธ๋์์ ๊ทธ ์์์ธ ๋ฆฌํ ๋ ธ๋๊น์ง์ ๋ชจ๋ ๊ฒฝ๋ก์๋ ๋์ผํ ์์ ๋ธ๋ ๋ ธ๋๊ฐ ํฌํจ๋ฉ๋๋ค.
GO TO FULL VERSION