Inflearn brand logo image
Inflearn brand logo image
์ฑ„๋„ํ†ก ์•„์ด์ฝ˜
BEST

์‹ค์ „! Querydsl

Querydsl์˜ ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์‹ค๋ฌด ํ™œ์šฉ๊นŒ์ง€, ํ•œ๋ฒˆ์— ํ•ด๊ฒฐํ•ด๋ณด์„ธ์š”!

Thumbnail
๊น€์˜ํ•œ๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

๊น€์˜ํ•œ์˜ ์‹ค์ „ ์ž๋ฐ” ์ค‘๊ธ‰ 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

* ์ปฌ๋ ‰์…˜ ์œ ํ‹ธ

* ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ ์ „์ฒด ์ •๋ฆฌ

* ๋ฌธ์ œ์™€ ํ’€์ด

* ์ •๋ฆฌ

 

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋Œ“๊ธ€