Querydsl์ ๊ธฐ์ด๋ถํฐ ์ค๋ฌด ํ์ฉ๊น์ง, ํ๋ฒ์ ํด๊ฒฐํด๋ณด์ธ์!
๊น์ํ์ ์ค์ ์๋ฐ ์ค๊ธ 2ํธ - ์ ๋ค๋ฆญ๊ณผ ์ปฌ๋ ์ ์คํ ์ผ์ ํ์
์๋
ํ์ธ์. ์ฌ๋ฌ๋ถ
๊น์ํ์ ์ค์ ์๋ฐ ์ค๊ธ 2ํธ - ์ ๋ค๋ฆญ๊ณผ ์ปฌ๋ ์
์คํ ์ผ์ ์ด 5์ 8์ผ(์)๋ก ํ์ ๋์์ต๋๋ค.
๊น์ํ์ ์ค์ ์๋ฐ - ์ค๊ธ 2ํธ ์ ๋ค๋ฆญ๊ณผ ์ปฌ๋ ์
* ๊ฐ์ ์๊ฐ: 19์๊ฐ 24๋ถ
* ๊ฐ์ ์: ์ฝ 90๊ฐ
* ๊ฐ์ PDF ์๋ฃ: 355์ฅ
[์๋ฐ ์ค๊ธ 2ํธ ๊ฐ์ ๋ด์ฉ]
[์ ๋ค๋ฆญ]
์๋ฐ(Java)์์ ์ ๋ค๋ฆญ์ ์ ๋๋ก ์ดํดํ๋ ๊ฒ์ ์ฐธ ์ด๋ ต์ต๋๋ค.
์ด ๊ฐ์์์๋ ์ ๋ค๋ฆญ์ ์ต๋ํ ์ฝ๊ฒ ์ค๋ช
ํ๊ธฐ ์ํด ๋จผ์ ์ ๋ค๋ฆญ์ ์ ํ ์ฌ์ฉํ์ง ์๊ณ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฐ ์ฝ๋์ ์ ๋ค๋ฆญ์ ์ ์ง์ ์ผ๋ก ๋์
ํ๋ฉด์ ๊ธฐ์กด ๋ฐฉ์์ผ๋ก๋ ํด๊ฒฐ์ด ์ด๋ ค์ด ์ฝ๋ ์ค๋ณต์ ์ ๋ค๋ฆญ์ด ์ด๋ป๊ฒ ํด๊ฒฐํ๋์ง ์์ฐ์ค๋ฝ๊ฒ ์ดํดํ ์ ์์ต๋๋ค.
[์๋ฃ ๊ตฌ์กฐ์ ์ดํด]
์ด ๊ฐ์๋ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ์ ๋๋ก ์ดํดํ ์ ์๋๋ก ์๋ฃ ๊ตฌ์กฐ์ ๊ธฐ์ด ์ด๋ก ์ ์ค๋ช
ํ๊ณ , ๋ ์ค๋ฌด์์ ์์ฃผ ์ฌ์ฉํ๋ ํต์ฌ ์๋ฃ ๊ตฌ์กฐ๋ค์ ์ฝ๋๋ก ์ง์ ๊ตฌํํด๋ด
๋๋ค.
* ๋ฐฐ์ด ๋ฆฌ์คํธ (ArrayList)
* ์ฐ๊ฒฐ ๋ฆฌ์คํธ (LinkedList)
* ํด์ ๊ตฌ์กฐ (Hash)
* ํด์ ์๊ณ ๋ฆฌ์ฆ๊ณผ ํด์ ํ
์ด๋ธ (Hash)
* ํธ๋ฆฌ ๊ตฌ์กฐ (Tree)
* ์ธํธ(์
)์ ๋งต ๊ตฌ์กฐ (Set, Map)
* ์คํ๊ณผ ํ ๊ตฌ์กฐ (Stack, Queue)
[์ปฌ๋ ์
ํ๋ ์์ํฌ]
์๋ฐ์ ์ปฌ๋ ์
ํ๋ ์์ํฌ๋ ์๋ฃ ๊ตฌ์กฐ์ ๋ชจ์์
๋๋ค.
์ค๋ฌด์์ ์๋ฃ ๊ตฌ์กฐ๋ ์ ๋ง ์์ฃผ ์ฐ์ด๊ณ ์ฑ๋ฅ ๋ฌธ์ ์๋ ์ง๊ฒฐ๋๋ ๋งํผ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ์ ๋๋ก ์ดํดํ๊ณ ์ฌ์ฉํ๋ ๊ฒ์ด ์ ๋ง ์ค์ํฉ๋๋ค.
์ด ๊ฐ์์์๋ ์ปฌ๋ ์
์ ์ฐ์ด๋ ๋ค์ํ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ์ง์ ๊ตฌํํ๋ฉด์ ์๋ฆฌ๋ฅผ ๊น์ด ์๊ฒ ์ดํดํฉ๋๋ค. ๊ทธ๋์ ๊ฐ๊ฐ์ ์๋ฃ ๊ตฌ์กฐ๊ฐ ์ด๋ค ๊ฒฝ์ฐ์ ์ฑ๋ฅ์ด ์ข๊ณ , ์ด๋ค ๊ฒฝ์ฐ์ ์ฑ๋ฅ์ด ๋์์ง ๊ทผ๋ณธ์ ์ธ ์ด์ ๋ฅผ ์ ๋๋ก ์ดํดํ๊ณ ์ค๋ฌด์์ ํ์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค.
๊ฐ ์ฑํฐ์์๋ ๋ค์ํ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ์ด๋ก ๊ณผ ์ค์ ๊ตฌํ์ ํตํด ํ์ตํฉ๋๋ค. ์ด๋ ๊ฒ ํด์ ์๋ฐ ์ปฌ๋ ์
ํ๋ ์์ํฌ ์ ๋ฐ์ ์์ฑํ๊ณ , ๋ ์ด๋ค ์๋ฃ ๊ตฌ์กฐ๋ฅผ ์ด๋์ ์ฌ์ฉํด์ผ ํ ์ง ์ ๋๋ก ์ดํดํ ์ ์๊ฒ ๋ฉ๋๋ค.
[๊ฐ์ ์ ์ฒด ๋ชฉ์ฐจ]
1. ์ ๋ค๋ฆญ - Generic1
* ํ๋ก์ ํธ ํ๊ฒฝ ๊ตฌ์ฑ
* ์ ๋ค๋ฆญ์ด ํ์ํ ์ด์
* ๋คํ์ฑ์ ํตํ ์ค๋ณต ํด๊ฒฐ ์๋
* ์ ๋ค๋ฆญ ์ ์ฉ
* ์ ๋ค๋ฆญ ์ฉ์ด์ ๊ด๋ก
* ์ ๋ค๋ฆญ ํ์ฉ ์์
* ๋ฌธ์ ์ ํ์ด1
2. ์ ๋ค๋ฆญ - Generic2
* ํ์ ๋งค๊ฐ๋ณ์ ์ ํ1 - ์์
* ํ์ ๋งค๊ฐ๋ณ์ ์ ํ2 - ๋คํ์ฑ ์๋
* ํ์ ๋งค๊ฐ๋ณ์ ์ ํ3 - ์ ๋ค๋ฆญ ๋์ ๊ณผ ์คํจ
* ํ์ ๋งค๊ฐ๋ณ์ ์ ํ4 - ํ์ ๋งค๊ฐ๋ณ์ ์ ํ
* ์ ๋ค๋ฆญ ๋ฉ์๋
* ์ ๋ค๋ฆญ ๋ฉ์๋ ํ์ฉ
* ์์ผ๋์นด๋1
* ์์ผ๋์นด๋2
* ํ์ ์ด๋ ์ด์
* ๋ฌธ์ ์ ํ์ด2
* ์ ๋ฆฌ
3. ์ปฌ๋ ์ ํ๋ ์์ํฌ - ArrayList
* ๋ฐฐ์ด์ ํน์ง1 - ๋ฐฐ์ด๊ณผ ์ธ๋ฑ์ค
* ๋น ์ค(O) ํ๊ธฐ๋ฒ
* ๋ฐฐ์ด์ ํน์ง2 - ๋ฐ์ดํฐ ์ถ๊ฐ
* ์ง์ ๊ตฌํํ๋ ๋ฐฐ์ด ๋ฆฌ์คํธ1 - ์์
* ์ง์ ๊ตฌํํ๋ ๋ฐฐ์ด ๋ฆฌ์คํธ2 - ๋์ ๋ฐฐ์ด
* ์ง์ ๊ตฌํํ๋ ๋ฐฐ์ด ๋ฆฌ์คํธ3 - ๊ธฐ๋ฅ ์ถ๊ฐ
* ์ง์ ๊ตฌํํ๋ ๋ฐฐ์ด ๋ฆฌ์คํธ4 - ์ ๋ค๋ฆญ1
* ์ง์ ๊ตฌํํ๋ ๋ฐฐ์ด ๋ฆฌ์คํธ5 - ์ ๋ค๋ฆญ2
* ์ ๋ฆฌ
4. ์ปฌ๋ ์ ํ๋ ์์ํฌ - LinkedList
* ๋ ธ๋์ ์ฐ๊ฒฐ1
* ๋ ธ๋์ ์ฐ๊ฒฐ2
* ๋ ธ๋์ ์ฐ๊ฒฐ3
* ์ง์ ๊ตฌํํ๋ ์ฐ๊ฒฐ ๋ฆฌ์คํธ1 - ์์
* ์ง์ ๊ตฌํํ๋ ์ฐ๊ฒฐ ๋ฆฌ์คํธ2 - ์ถ๊ฐ์ ์ญ์ 1
* ์ง์ ๊ตฌํํ๋ ์ฐ๊ฒฐ ๋ฆฌ์คํธ3 - ์ถ๊ฐ์ ์ญ์ 2
* ์ง์ ๊ตฌํํ๋ ์ฐ๊ฒฐ ๋ฆฌ์คํธ4 - ์ ๋ค๋ฆญ ๋์
* ์ ๋ฆฌ
5. ์ปฌ๋ ์ ํ๋ ์์ํฌ - List
* ๋ฆฌ์คํธ ์ถ์ํ1 - ์ธํฐํ์ด์ค ๋์
* ๋ฆฌ์คํธ ์ถ์ํ2 - ์์กด๊ด๊ณ ์ฃผ์
* ๋ฆฌ์คํธ ์ถ์ํ3 - ์ปดํ์ผ ํ์, ๋ฐํ์ ์์กด๊ด๊ณ
* ์ง์ ๊ตฌํํ ๋ฆฌ์คํธ์ ์ฑ๋ฅ ๋น๊ต
* ์๋ฐ ๋ฆฌ์คํธ
* ์๋ฐ ๋ฆฌ์คํธ์ ์ฑ๋ฅ ๋น๊ต
* ๋ฌธ์ ์ ํ์ด1
* ๋ฌธ์ ์ ํ์ด2
* ์ ๋ฆฌ
6. ์ปฌ๋ ์ ํ๋ ์์ํฌ - ํด์(Hash)
* ๋ฆฌ์คํธ(List) vs ์ธํธ(Set)
* ์ง์ ๊ตฌํํ๋ Set0 - ์์
* ํด์ ์๊ณ ๋ฆฌ์ฆ1 - ์์
* ํด์ ์๊ณ ๋ฆฌ์ฆ2 - index ์ฌ์ฉ
* ํด์ ์๊ณ ๋ฆฌ์ฆ3 - ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น
* ํด์ ์๊ณ ๋ฆฌ์ฆ4 - ๋๋จธ์ง ์ฐ์ฐ
* ํด์ ์๊ณ ๋ฆฌ์ฆ5 - ํด์ ์ถฉ๋ ์ค๋ช
* ํด์ ์๊ณ ๋ฆฌ์ฆ6 - ํด์ ์ถฉ๋ ๊ตฌํ
7. ์ปฌ๋ ์ ํ๋ ์์ํฌ - HashSet
* ์ง์ ๊ตฌํํ๋ Set1 - MyHashSetV1
* ๋ฌธ์์ด ํด์ ์ฝ๋
* ์๋ฐ์ hashCode()
* ์ง์ ๊ตฌํํ๋ Set2 - MyHashSetV2
* ์ง์ ๊ตฌํํ๋ Set3 - ์ง์ ๋ง๋ ๊ฐ์ฒด ๋ณด๊ด
* equals, hashCode์ ์ค์์ฑ1
* equals, hashCode์ ์ค์์ฑ2
* ์ง์ ๊ตฌํํ๋ Set4 - ์ ๋ค๋ฆญ๊ณผ ์ธํฐํ์ด์ค ๋์
8. ์ปฌ๋ ์ ํ๋ ์์ํฌ - Set
* ์๋ฐ๊ฐ ์ ๊ณตํ๋ Set1 - HashSet, LinkedHashSet
* ์๋ฐ๊ฐ ์ ๊ณตํ๋ Set2 - TreeSet
* ์๋ฐ๊ฐ ์ ๊ณตํ๋ Set3 - ์์
* ์๋ฐ๊ฐ ์ ๊ณตํ๋ Set4 - ์ต์ ํ
* ๋ฌธ์ ์ ํ์ด1
* ๋ฌธ์ ์ ํ์ด2
* ์ ๋ฆฌ
9. ์ปฌ๋ ์ ํ๋ ์์ํฌ - Map, Stack, Queue
* ์ปฌ๋ ์ ํ๋ ์์ํฌ - Map ์๊ฐ1
* ์ปฌ๋ ์ ํ๋ ์์ํฌ - Map ์๊ฐ2
* ์ปฌ๋ ์ ํ๋ ์์ํฌ - Map ๊ตฌํ์ฒด
* ์คํ ์๋ฃ ๊ตฌ์กฐ
* ํ ์๋ฃ ๊ตฌ์กฐ
* Deque ์๋ฃ ๊ตฌ์กฐ
* Deque์ Stack, Queue
* ๋ฌธ์ ์ ํ์ด1 - Map1
* ๋ฌธ์ ์ ํ์ด2 - Map2
* ๋ฌธ์ ์ ํ์ด3 - Stack
* ๋ฌธ์ ์ ํ์ด4 - Queue
* ์ ๋ฆฌ
10. ์ปฌ๋ ์ ํ๋ ์์ํฌ - ์ํ, ์ ๋ ฌ, ์ ์ฒด ์ ๋ฆฌ
* ์ํ1 - ์ง์ ๊ตฌํํ๋ Iterable, Iterator
* ์ํ2 - ํฅ์๋ for๋ฌธ
* ์ํ3 - ์๋ฐ๊ฐ ์ ๊ณตํ๋ Iterable, Iterator
* ์ ๋ ฌ1 - Comparable, Comparator
* ์ ๋ ฌ2 - Comparable, Comparator
* ์ ๋ ฌ3 - Comparable, Comparator
* ์ปฌ๋ ์ ์ ํธ
* ์ปฌ๋ ์ ํ๋ ์์ํฌ ์ ์ฒด ์ ๋ฆฌ
* ๋ฌธ์ ์ ํ์ด
* ์ ๋ฆฌ
๊ฐ์ฌํฉ๋๋ค.