Coding Planet

ν”„λ ˆμž„μ›Œν¬(Framework)와 라이브러리(Library)의 차이점 λ³Έλ¬Έ

🌱SPRING

ν”„λ ˆμž„μ›Œν¬(Framework)와 라이브러리(Library)의 차이점

jhj.sharon 2023. 4. 21. 15:50
λ°˜μ‘ν˜•

 

 

1. ν”„λ ˆμž„μ›Œν¬(Framework)λž€?

  • κ°œλ°œμžκ°€ μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό κ°œλ°œν•¨μ— μžˆμ–΄ μ½”λ“œλ₯Ό κ΅¬ν˜„ν•˜λŠ” 개발 μ‹œκ°„μ„ 쀄이고,  μ½”λ“œμ˜ μž¬μ‚¬μš©μ„±μ„  μ¦κ°€ μ‹œν‚€κΈ° μœ„ν•΄ 일련의 클래슀 λ¬ΆμŒμ΄λ‚˜ λΌˆλŒ€, 틀을 라이브러리 ν˜•νƒœλ‘œ μ œκ³΅λ˜λŠ” 것을 λ§ν•œλ‹€.
  • μ œμ–΄μ˜ μ—­μ „ κ°œλ…μ΄ 적용된 λŒ€ν‘œμ μΈ κΈ°μˆ μ΄λ‹€.

 

   1) ν”„λ ˆμž„μ›Œν¬μ˜ νŠΉμ§•

  • κ°œλ°œμžκ°€ 따라야 ν•˜λŠ” κ°€μ΄λ“œλ₯Ό μ œκ³΅ν•œλ‹€.
  • κ°œλ°œν•  수 μžˆλŠ” λ²”μœ„κ°€ μ •ν•΄μ Έμžˆλ‹€.
  • 개발자λ₯Ό μœ„ν•œ λ‹€μ–‘ν•œ 도ꡬ , ν”Œλ‘œκ·ΈμΈλ“€μ„ μ§€μ›ν•œλ‹€.

 

   2) ν”„λ ˆμž„μ›Œν¬μ˜ μž₯단점

μž₯점
  • 개발 μ‹œκ°„μ„ 쀄일 수 있음
  • μ •ν˜•ν™” λ˜μ–΄ μžˆμ–΄ μΌμ •μˆ˜μ€€ μ΄μƒμ˜ ν’ˆμ§ˆμ„ κΈ°λŒ€ν•  수 있음
  • μœ μ§€ λ³΄μˆ˜κ°€ 쉬움
단점
  • λ„ˆλ¬΄ μ˜μ‘΄ν•˜λ©΄ κ°œλ°œμžλ“€μ˜ λŠ₯λ ₯이 λ–¨μ–΄μ Έμ„œ 슀슀둜 직접 κ°œλ°œν•˜λŠ” 것이 μ–΄λ €μ›Œμ§
  • μŠ΅λ“μ— κ±Έλ¦¬λŠ” μ‹œκ°„μ΄ 였래 κ±Έλ¦Ό

  

 

3) ν”„λ ˆμž„μ›Œν¬μ˜ μ’…λ₯˜

 

 

 

2. 라이브러리(Library)λž€?

  • λΌμ΄λΈŒλŸ¬λ¦¬λž€ κ°œλ°œμžκ°€ λ§Œλ“  ν΄λž˜μŠ€λ“€μ˜ λ‚˜μ—΄λ‘œ, λ‹€λ₯Έ ν”„λ‘œκ·Έλž¨λ“€μ—μ„œ μ‚¬μš©ν•  수 μžˆλ„λ‘ μ œκ³΅ν•˜λŠ” 방식이닀.

 

 

 

3. ν”„λ ˆμž„μ›Œν¬(Framework)와 λΌμ΄λΈŒλŸ¬λ¦¬(Library)의 μ°¨μ΄μ 

: λΌμ΄λΈŒλŸ¬λ¦¬μ™€ ν”„λ ˆμž„μ›Œν¬μ˜ μ°¨μ΄λŠ” μ œμ–΄ 흐름에 λŒ€ν•œ 주도성이 λˆ„κ΅¬μ—κ²Œ / μ–΄λ””μ—κ²Œ μžˆλŠ”κ°€μ— μžˆλ‹€.

  즉, μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ Flow(흐름)을 λˆ„κ°€ μ₯κ³  μžˆλŠλƒμ— λ‹¬λ €μžˆλ‹€.

 

  • ν”„λ ˆμž„μ›Œν¬λŠ” κ·Έ 슀슀둜 μ œμ–΄ νλ¦„μ˜ 주도성을 κ°–λŠ” 반면, λΌμ΄λΈŒλŸ¬λ¦¬λŠ” κ°œλ°œμžκ°€ 가지고 μžˆλ‹€.
  • ν”„λ ˆμž„μ›Œν¬λŠ” 집이고, λΌμ΄λΈŒλŸ¬λ¦¬λŠ” κ·Έ 집 μ•ˆμ˜ 가ꡬ이닀.
  • λΌμ΄λΈŒλŸ¬λ¦¬μ™€ 달리 ν”„λ ˆμž„μ›Œν¬λŠ” 이미 ν”„λ‘œκ·Έλž˜λ°μ— λŒ€ν•œ κ·œμΉ™μ„ 가지고 μžˆλ‹€. 예λ₯Ό λ“€λ©΄ μ„€μ •νŒŒμΌμ˜ νƒœκ·Έμ„€μ •μ΄λ‚˜, DB연동 방법등에 λŒ€ν•œ κ·œμΉ™μ„ 가지고 있고 κ°œλ°œμžλŠ” 이λ₯Ό λ”°λΌμ•Όν•œλ‹€.

 

 

 

 

 

 

 

λ°˜μ‘ν˜•
Comments