๊ธฐํƒ€

๊ธฐ์ˆ  ๋ฉด์ ‘ ์˜ˆ์ƒ ์งˆ๋ฌธ : ์ž๋ฐ” ํŽธ

PYT 2019. 12. 8. 23:21
๋ฐ˜์‘ํ˜•

 

1. Framework ?

Software๋ฅผ ๋งŒ๋“ค ๋•Œ ๋ผˆ๋Œ€๊ฐ€ ๋˜๋Š” ๋ถ€๋ถ„์„ ๋ฏธ๋ฆฌ ๊ตฌํ˜„ํ•ด์ค€ ๊ฒƒ

์žฅ์  : ๋ผˆ๋Œ€๊ฐ€ ์žˆ์–ด์„œ ์ƒ์‚ฐ์„ฑ์ด ์ข‹์•„์ง, ํ’ˆ์งˆ๋ณด์žฅ

๋‹จ์  : ์ต์ˆ™ํ•ด์ง€๋Š”๋ฐ ์‹œ๊ฐ„์ด ์ข€ ๊ฑธ๋ฆผ, ๋‚ด๋ถ€ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•์ด ํž˜๋“ฆ (์‚ฌ์šฉ์ž๊ฐ€ ํ•  ์ผ์€ ์—†์Œ)

 

2. MVC ?

Model, View, Controller๋กœ ๊ฐ ์˜์—ญ๋ณ„๋กœ ๊ฒฐํ•ฉ๋„๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ํŒจํ„ด

์žฅ์  : ์œ ์ง€๋ณด์ˆ˜ ์šฉ์ด

 

3. JAVA์˜ ํŠน์ง•

1. OOP(๊ฐ์ฒด ์ง€ํ–ฅํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ) : ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ณ  ์ด๊ฒƒ๋“ค์„ ์กฐ๋ฆฝํ•ด์„œ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ

2. ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ์ง€์›

3. GC(garbage collector)์— ์˜ํ•ด ๋ฉ”๋ชจ๋ฆฌ ์ž๋™๊ด€๋ฆฌ

 

4. ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ OOP(Object-Oriented Programming)?

Object๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ฝ”๋“œ๋ฅผ ๋‚˜๋ˆ„์–ด ๊ตฌํ˜„ํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ๋ฒ•(Java๋Š” ๊ตฌ๋ถ„๋‹จ์œ„๊ฐ€ Class)

์žฅ์  : ์žฌ์‚ฌ์šฉ์„ฑ์ด ์ข‹๊ณ , ํ˜‘์—…ํ•˜๊ธฐ ์ข‹๋‹ค(์บก์Šํ™”,์ถ”์ƒํ™” ๋•Œ๋ฌธ์— ์“ฐ๊ธฐ ์ข‹์Œ)

  1. ์บก์Šํ™” : ๋น„์Šทํ•œ ์—ญํ• ์„ ํ•˜๋Š” ์†์„ฑ๊ณผ ๋ฉ”์†Œ๋“œ๋“ค์„ ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๋กœ ๋ชจ์€๊ฒƒ
  2. ์ถ”์ƒํ™” : ์–ด๋–ค ์‹ค์ฒด๋กœ๋ถ€ํ„ฐ ๊ณตํ†ต์ ์ธ ๋ถ€๋ถ„์ด๋‚˜ ๊ด€์‹ฌ์žˆ๋Š” ํŠน์„ฑ๋“ค๋งŒ ํ•œ๊ณณ์— ๋ชจ์€๊ฒƒ 
    (ex. ์–ด๋–ค ํ•˜์œ„ํด๋ž˜์Šค๋“ค์— ์กด์žฌํ•˜๋Š” ๊ณตํ†ต์ ์ธ ๋ฉ”์†Œ๋“œ๋ฅผ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ •์˜ํ•˜๋Š” ๊ฒƒ)
  3. ์ƒ์† : ํด๋ž˜์Šค๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ, ์ƒ์†์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฝ”๋“œ๋ฅผ ์žฌํ™œ์šฉ ํ•  ์ˆ˜ ์žˆ๊ณ  ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ƒ์‚ฐ์„ฑ์ด ๋†’๊ณ  ์œ ์ง€๋ณด์ˆ˜ ํ•˜๊ธฐ๊ฐ€ ์ข‹์Œ
  4. ๋‹คํ˜•์„ฑ

 

5. ๋‹คํ˜•์„ฑ ?

๊ฐ™์€๋ชจ์–‘์˜ ์ฝ”๋“œ๊ฐ€ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ๊ฒƒ

(ex. ํ•ธ๋“œํฐ์— ์žˆ๋Š” ํ‚คํŒจ๋“œ๋กœ ๋‹ค์ด์–ผ ๋ˆ„๋ฅด๊ธฐ๋„ํ•˜๊ณ  ๋ฌธ์žํ•˜๊ธฐ๋„ ํ•˜๊ณ  ๊ฒŒ์ž„์„ ํ•˜๋Š” ๊ฒƒ๊นŒ์ง€ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ชจ์–‘์€ ๊ฐ™์€๋ฐ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๋””๋ฐ”์ด์Šค ๊ธฐ๋ฐ˜์˜ ๋‹คํ˜•์„ฑ)

์ƒ์†์„ ํ†ตํ•ด ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ฃผ๊ณ , ๊ฐ™์€ ํด๋ž˜์Šค ๋‚ด์˜ ์ฝ”๋“œ์˜ ๊ธธ์ด๋ฅผ ์ค„์—ฌ์ฃผ๋Š” ๊ฒƒ๊นŒ์ง€ ๋„์™€์คŒ

 

6. Overriding ?

๋ถ€๋ชจ ํด๋ž˜์Šค์—๊ฒŒ ์ƒ์†๋ฐ›์€ ๋ฉ”์†Œ๋“œ๋ฅผ ์ž์‹ ํด๋ž˜์Šค์—์„œ ์žฌ์ •์˜ ํ•˜๋Š” ๊ฒƒ

ํ•˜๋‚˜์˜ ์Šˆํผํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›๋Š” ์—ฌ๋Ÿฌ ์„œ๋ธŒ ํด๋ž˜์Šค๋“ค์ด ๊ฐ™์€ ์ด๋ฆ„์— ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์ •์˜ํ•˜๊ณ  ์‚ฌ์šฉํ•˜๊ฒŒ๋” ํ•  ์ˆ˜ ์žˆ์Œ 

(์˜ค๋ฒ„๋ผ์ด๋”ฉ์„ ์ด์šฉํ•ด์„œ ๊ฐ™์€ ์ด๋ฆ„์ด์ง€๋งŒ ๊ตฌํ˜„ํ•˜๋Š” ํด๋ž˜์Šค๋งˆ๋‹ค ๋‹ค๋ฅธ ์—ญํ• ์„ ํ•˜๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์ •์˜ => ํ‚คํŒจ๋“œ๋ผ๋Š” ๋ชจ์–‘์„ ๊ฐ€์กŒ์ง€๋งŒ ๊ฒŒ์ž„์„ ํ•˜๊ณ  ๋ฌธ์ž๋ฅผ ๋ณด๋‚ด๋Š” ๊ฒƒ์ฒ˜๋Ÿผ)

 

7. Overloading ?

ํ•˜๋‚˜์˜ Class ๋‚ด์—์„œ ์ด๋ฆ„์ด ๊ฐ™์€ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•˜๋Š” ๊ฒƒ.

parameter, return type ๋“ฑ์ด ๋‹ค๋ฆ„=>์ธ์ž๋“ค์˜ ํƒ€์ž…์ด๋‚˜ ๊ฐœ์ˆ˜๊ฐ€ ๋‹ค๋ฅด๋ฉด ๋ฉ”์†Œ๋“œ ์ด๋ฆ„์ด ๊ฐ™๋”๋ผ๋„ ์–ด๋–ค ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ• ์ง€ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์•Œ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ

์ˆ˜ํ–‰ ๋‚ด์šฉ์ด ๋ณธ์งˆ์ ์œผ๋กœ ๋™์ผํ•  ๋•Œ ์‚ฌ์šฉ(์œ ์‚ฌํ•œ ์ผ์„ ์ˆ˜ํ–‰ํ•˜๋ฉด์„œ ์ธ์ž๋งŒ ๋‹ค๋ฅธ ๋ฉ”์†Œ๋“œ๋“ค์—๊ฒŒ ๊ฐ๊ฐ ๋‹ค๋ฅธ์ด๋ฆ„์„ ์ค€๋‹ค๋ฉด ์‚ฌ์šฉํ•˜๊ธฐ ๋งค์šฐ ๋ถˆํŽธํ•  ๊ฒƒ, ํ‚ค๋ณด๋“œ์— ๋ฌธ์ž์šฉ ํ‚คํŒจ๋“œ๋ฅผ ๋งŒ๋“ค๊ณ , ๊ฒŒ์ž„์šฉ ํ‚คํŒจ๋“œ๋ฅผ ๋”ฐ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ)

 

8. ์ธํ„ฐํŽ˜์ด์Šค Interface ?

๋ชจ๋“  ๋ฉ”์†Œ๋“œ๊ฐ€ ์ถ”์ƒ๋ฉ”์†Œ๋“œ์ธ ๊ฒฝ์šฐ

ํ•˜์œ„ ํด๋ž˜์Šค์— ํŠน์ •ํ•œ ๋ฉ”์†Œ๋“œ๊ฐ€ ๋ฐ˜๋“œ์‹œ ์กด์žฌํ•˜๋„๋ก ๊ฐ•์ œํ•จ( ๊ณตํ†ต์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด )

 

9. ์ƒ์† abstract ?

์ƒ์œ„ ํด๋ž˜์Šค์˜ ๊ธฐ๋Šฅ์„ ํ•˜์œ„ ํด๋ž˜์Šค๊ฐ€ ๋ฌผ๋ ค๋ฐ›๋Š”๊ฒƒ (extends์‚ฌ์šฉ)

๋ณต์žกํ•œ ๋ถ€๋ถ„์„ ๊ณตํ†ต์œผ๋กœ ์ฒ˜๋ฆฌํ•ด์ฃผ๊ธฐ ์œ„ํ•ด, ๊ทธ๋Œ€๋กœ ๊ฐ–๋‹ค ์“ฐ๊ธฐ ๋•Œ๋ฌธ์— ์ฝ”๋“œ์˜ ์ค‘๋ณต์ด ์ค„์–ด๋“ฆ

 

10. abstract ์ถ”์ƒํด๋ž˜์Šค vs interface ์ธํ„ฐํŽ˜์ด์Šค 

์ถ”์ƒํด๋ž˜์Šค๋Š” ์ƒ์†์„ ํ†ตํ•ด ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•˜๋Š”๊ฒŒ ๋ชฉ์ ์ด๊ณ  

์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋™์ผํ•œ ๋™์ž‘์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•จ์ด ๋ชฉ์ 

 

*ํด๋ž˜์Šค์—๋Š” ์ผ๋ฐ˜ํด๋ž˜์Šค์™€ ์ถ”์ƒํด๋ž˜์Šค๊ฐ€ ์žˆ์Œ

์ถ”์ƒ๋ฉ”์†Œ๋“œ๋ฅผ ํ•˜๋‚˜๋ผ๋„ ๊ฐ€์ง€๊ณ  ์žˆ๊ฑฐ๋‚˜ abstract๋กœ ์ •์˜๋˜๋ฉด ์ถ”์ƒํด๋ž˜์Šค์ž„

์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋ชจ๋“  ๋ฉ”์†Œ๋“œ๊ฐ€ ์ถ”์ƒ๋ฉ”์†Œ๋“œ์ธ ๊ฒฝ์šฐ๋ฅผ ๋งํ•จ

๋‘˜๋‹ค ๊ณตํ†ต์ ์œผ๋กœ ์ƒ์†๋ฐ›๋Š” ํด๋ž˜์Šคor ๊ตฌํ˜„ํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค ์•ˆ์—์žˆ๋Š” ์ถ”์ƒ๋ฉ”์†Œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๋„๋ก ๊ฐ•์ œ

but!

์ถ”์ƒํด๋ž˜์Šค : ์ƒ์†์„ ํ†ตํ•ด ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•˜๋Š”๊ฒƒ์ด ๋ชฉ์ 

์ธํ„ฐํŽ˜์ด์Šค : ๋™์ผํ•œ ๋™์ž‘์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉ์  

 

11. ๊ฐ์ฒด vs class

Class : ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ• ๋‹น๋˜์ง€ ์•Š์€ ์ƒํƒœ

๊ฐ์ฒด(object) : ํ”„๋กœ๊ทธ๋žจ์„ ์™„์„ฑ์‹œํ‚ค๊ธฐ ์œ„ํ•œ ์กฐ๋ฆฝํ’ˆ ( ํ˜„์‹ค์˜ ๋ชจ๋“  ๊ฒƒ์ด ๊ฐ์ฒด์ž„ )

 

12. java์˜ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ

Stack : ์ง€์—ญ๋ณ€์ˆ˜, method๋“ฑ์ด ํ• ๋‹น๋˜๋Š” LIFO ๋ฉ”๋ชจ๋ฆฌ

 Heap : new ์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•ด ํ• ๋‹น๋œ ๊ฐ์ฒด๊ฐ€ ์ €์žฅ๋˜๋ฉฐ GC์— ์˜ํ•ด ๊ด€๋ฆฌ๋จ

 

13. thread, process ?

thread๋Š” process ๋‚ด์—์„œ ๋™์ž‘ํ•จ

stack memory๋ฅผ ๊ฐ–๊ณ  ๊ทธ ์™ธ memory๋Š” process ๋‚ด์— ๊ณต์œ ํ•จ

process๋Š” ๋…๋ฆฝ๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ OS๋กœ ๋ถ€ํ„ฐ ํ• ๋‹น๋ฐ›์Œ

 

๊ทธ๋ ‡๋‹ค๋ฉด process์™€ thread์˜ ์ฐจ์ด๋Š”?

Process๋Š” ๋…๋ฆฝ์ ์ด๊ธฐ ๋•Œ๋ฌธ์— memory ์˜์—ญ์„ ๊ณต์œ ํ•˜์ง€ ์•Š์ง€๋งŒ, thread๋Š” Stack์„ ์ œ์™ธํ•œ ์˜์—ญ์„ ๊ณต์œ ํ•จ

 

 

 

14. CollectionFramework ?

๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ณ  ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํ‘œ์ค€ํ™”๋œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š” ํด๋ž˜์Šค์˜ ์ง‘ํ•ฉ

  1. list<E> : ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ—ˆ์šฉํ•˜๋ฉฐ, ์ˆœ์„œ๊ฐ€ ์กด์žฌํ•จ 
    ArrayList : ๋ฐ์ดํ„ฐ ์กฐํšŒ์— ๋น ๋ฅด์ง€๋งŒ ๋นˆ๋ฒˆํ•œ ์ถ”๊ฐ€,์‚ญ์ œ ์‹œ LinkedList๋ณด๋‹ค ๋Š๋ฆผ
    LinkedList :์ถ”๊ฐ€, ์‚ญ์ œ๋Š” ๋น ๋ฅด์ง€๋งŒ ArrayList๋ณด๋‹ค ๋Š๋ฆผ
  2. set<E> : ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์ˆœ์„œ๊ฐ€ ์—†์Œ (HashSet, TreeSet)
  3. map<K,V> : KEY์™€ VALUE์˜ ํ•œ ์Œ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ, ์ˆœ์„œ๊ฐ€ ์—†์Œ (HashMap, TreeMap)

15. ์ œ๋„ค๋ฆญ์ด๋ž€? <>

ํด๋ž˜์Šค ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๊ฐ์ฒด ์ƒ์„ฑ์‹œ์— ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ์‹

1. ํด๋ž˜์Šค๋‚˜ ๋ฉ”์†Œ๋“œ ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ฐ์ฒด์˜ ํƒ€์ž… ์•ˆ์ •์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Œ,

2. ๋ฐ˜ํ™˜๊ฐ’์— ๋Œ€ํ•œ ํƒ€์ž… ๋ณ€ํ™˜ ๋ฐ ํƒ€์ž… ๊ฒ€์‚ฌ์— ๋“ค์–ด๊ฐ€๋Š” ๋…ธ๋ ฅ์„ ์ค„์ผ ์ˆ˜ ์žˆ์Œ

 

16. cookie์™€ Session์˜ ์ฐจ์ด์  ?

๋‘˜ ๋‹ค ์‚ฌ์šฉ์ž์˜ data๋ฅผ ์ €์žฅํ•˜์ง€๋งŒ,

Cookie : ๋„คํŠธ์›Œํฌ๋ฅผ ํƒ€๊ณ  ์„œ๋ฒ„๋กœ ์ „๋‹ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณด์•ˆ์— ์ทจ์•ฝํ•จ

Session : ์„œ๋ฒ„์— ์ €์žฅ๋˜๊ณ  ์ฟ ํ‚ค์— ๋น„ํ•ด ๋ณด์•ˆ์ด ์ข‹์Œ, ํ•˜์ง€๋งŒ ์ฟ ํ‚ค๋ณด๋‹ค ๋Š๋ฆฌ๊ณ  ์„œ๋ฒ„์— ๊ณผ๋ถ€ํ™”๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์Œ 

(๊ณผ๋ถ€ํ™”๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํ† ํฐ๊ธฐ๋ฐ˜์˜ ์ธ์ฆ๋ฐฉ์‹์„ ์‚ฌ์šฉ JWT)

 

17. Request ์ „์†ก ๋ฐฉ์‹ ์ข…๋ฅ˜ ?

(HTTPํ”„๋กœํ† ์ฝœ์„ ์ด์šฉํ•ด์„œ ์„œ๋ฒ„์— ๋ฌด์–ธ๊ฐ€๋ฅผ ์ „๋‹ฌํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹)

Get : URL์˜ ์ฟผ๋ฆฌ์ŠคํŠธ๋ง์œผ๋กœ data๋ฅผ ์ „๋‹ฌํ•จ, ๊ทธ๋ ‡๊ธฐ์— ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ธฐ๊ฐ€ ์–ด๋ ค์›€, ์ฃผ๋กœ ์กฐํšŒ๋ฅผ ํ•  ๋•Œ์— ์‚ฌ์šฉ

(์ฟผ๋ฆฌ์ŠคํŠธ๋ง : GET๋ฐฉ์‹, ?๋‹ค์Œ์— ๋ณ€์ˆ˜=๊ฐ’&๋ณ€์ˆ˜=๊ฐ’..์˜ ํ˜•์‹์œผ๋กœ URL์ž‘์„ฑ)

Post : Get๋ณด๋‹ค ๋Š๋ฆฌ์ง€๋งŒ ๋ณด์•ˆ์ด ๋” ์ข‹์Œ, ์„œ๋ฒ„์˜ ์ƒํƒœ๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝ์‹œํ‚ฌ ๋•Œ ์‚ฌ์šฉ

 

18. Restful(Representational State Transfer) ์ด๋ž€ ?

URL๋งŒ ๋ณด๋”๋ผ๋„ ์–ด๋–ค ์ž‘์—…์ธ์ง€ ์•Œ ์ˆ˜ ์žˆ๊ณ , One data One URL์˜ ์ž‘์—…๋ฐฉ์‹

 

19. Spring์—์„œ์˜ DI (Dependency Injection) ์˜์กด์„ฑ์ฃผ์ž… ์ด๋ž€ ?

๊ฐ์ฒด(object)๊ฐ„์˜ ์˜์กด์„ฑ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” Spring IOC์˜ ๊ตฌํ˜„๋ฐฉ์‹

๊ตฌ์„ฑ์š”์†Œ๊ฐ„์˜ ์˜์กด ๊ด€๊ณ„๊ฐ€ ์†Œ์Šค์ฝ”๋“œ ๋‚ด๋ถ€๊ฐ€ ์•„๋‹Œ ์™ธ๋ถ€์˜ ์„ค์ •ํŒŒ์ผ ๋“ฑ์„ ํ†ตํ•ด ์ •์˜๋˜๊ฒŒ ํ•˜๋Š” ๋””์ž์ธํŒจํ„ด

 

20. Spring์˜ AOP(Aspect Oriented Programming) ๊ด€์ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ?

์–ด๋–ค ๋กœ์ง์„ ๊ธฐ์ค€์œผ๋กœ ํ•ต์‹ฌ์ ์ธ ๊ด€์ , ๋ถ€๊ฐ€์ ์ธ ๊ด€์ ์œผ๋กœ ๋‚˜๋ˆ„์–ด์„œ ๋ณด๊ณ  

๊ทธ ๊ด€์ ์„ ๊ธฐ์ค€์œผ๋กœ ๊ฐ๊ฐ ๋ชจ๋“ˆํ™”(์–ด๋–ค ๊ณตํ†ต๋œ ๋กœ์ง์ด๋‚˜ ๊ธฐ๋Šฅ์„ ํ•˜๋‚˜์˜ ๋‹จ์œ„๋กœ ๋ฌถ์Œ)ํ•˜๊ฒ ๋‹ค๋Š” ๊ฒƒ

=> ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์˜ ์›ํ•˜๋Š” ์ง€์ ์— ๊ณตํ†ต ๊ด€์‹ฌ์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•จ์œผ๋กœ์„œ ์ค‘๋ณต์ฝ”๋“œ๋ฅผ ์ค„์ž„

 

21. JVM(JAVA Virtual Machine) ์ž๋ฐ” ๊ฐ€์ƒ๋จธ์‹  ์˜ ์—ญํ• 

Java๊ฐ€ OS์— ์ƒ๊ด€์—†์ด ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์คŒ, GC(๋ฉ”๋ชจ๋ฆฌ๊ด€๋ฆฌ(Garbage Collection)) ์ œ๊ณต

ํ•œ์ •๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์ตœ๊ณ ์˜ ์„ฑ๋Šฅ์„ ๋‚ด๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉ

๋ฐ˜์‘ํ˜•