ν”„λ ˆμž„μ›Œν¬ vs 라이브러리 κ°œλ…

2025. 2. 16. 22:57Β·πŸ“° 기타 개발 자료
λͺ©μ°¨
  1. ν”„λ ˆμž„μ›Œν¬ vs 라이브러리
  2. μ œμ–΄ νλ¦„μ˜ 주체의 차이
  3. μ‚¬μš© λ°©μ‹μ˜ 차이
  4. μ˜ˆμ‹œ: Spring Framework vs Java Library
  5. μš”μ•½

 

λ“€μ–΄κ°€λ©΄μ„œ
μ•ŒκΈ°λŠ” μ•„λŠ”λ°
λˆ„κ΅°κ°€ ꡬ술둜 물어보면, λ­”κ°€ μ‹œμ›ν•˜κ²Œ λŒ€λ‹΅ν•˜κΈ° νž˜λ“  질문.
"ν”„λ ˆμž„μ›Œν¬μ™€ λΌμ΄λΈŒλŸ¬λ¦¬λŠ” λ‹€λ₯Έκ±°μ•Ό?"
였늘 λ‹΅ν•΄λ³Έλ‹€..

ν”„λ ˆμž„μ›Œν¬ vs 라이브러리

πŸ”ν”„λ ˆμž„μ›Œν¬
μƒˆλ‘œμš΄ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ 보닀 효율적으둜 κ°œλ°œν•  수 μžˆλ„λ‘ ν•˜λŠ” μž¬μ‚¬μš© κ°€λŠ₯ν•œ μ†Œν”„νŠΈμ›¨μ–΄ ꡬ성 μš”μ†Œμ˜ λͺ¨μŒμ΄λ‹€.

μ†Œν”„νŠΈμ›¨μ–΄ ν”„λ ˆμž„μ›Œν¬μ—λŠ” νŠΉμ • μ†Œν”„νŠΈμ›¨μ–΄ ν‘œμ€€ 및 ν”„λ‘œν† μ½œμ„ 기반으둜 μž¬μ‚¬μš© κ°€λŠ₯ν•œ μ½”λ“œ λͺ¨λ“ˆμ΄ ν¬ν•¨λ˜μ–΄ μžˆλ‹€. λ”°λΌμ„œ μƒˆλ‘œμš΄ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ ν‘œμ€€ν™”λœ λ°©μ‹μœΌλ‘œ κ°œλ°œν•  수 μžˆλ‹€.


πŸ“šλΌμ΄λΈŒλŸ¬λ¦¬
미리 κΈ°λŠ₯λ“€(μ±…)을 ν•„μš”ν•  λ•Œλ§ˆλ‹€ 기둝된 μ½”λ“œλ₯Ό λΉΌμ™€μ„œ μž¬μ‚¬μš©ν•  수 μžˆλ„λ‘ ν΄λž˜μŠ€λ‚˜ ν•¨μˆ˜κ°€ λͺ¨μ—¬μžˆλŠ” μ§‘ν•©μ†Œ(λ„μ„œκ΄€)이닀.

κ°œλ°œμžκ°€ λͺ¨λ“  κΈ°λŠ₯을 맀번 직접 κ°œλ°œν•˜κΈ°μ—” 생산성이 λ–¨μ–΄μ§€λ‹ˆ 라이브러리λ₯Ό μ‚¬μš©ν•œλ‹€.


ν”„λ ˆμž„μ›Œν¬μ™€ λΌμ΄λΈŒλŸ¬λ¦¬λŠ” λͺ¨λ‘ μ†Œν”„νŠΈμ›¨μ–΄ κ°œλ°œμ—μ„œ 반볡적인 μž‘μ—…μ„ μ—†μ•  μ½”λ“œ 쀑볡을 μ€„μ—¬μ£ΌλŠ” λ„κ΅¬μ΄μ§€λ§Œ, "μ œμ–΄ νλ¦„μ˜ 주체와 μ‚¬μš© 방식"에 λŒ€ν•œ 차이가 μžˆλ‹€.

μ œμ–΄ νλ¦„μ˜ 주체의 차이

πŸ”ν”„λ ˆμž„μ›Œν¬
μ œμ–΄ νλ¦„μ˜ 주체가 ν”„λ ˆμž„μ›Œν¬ μžμ²΄μ΄λ‹€.
κ°œλ°œμžλŠ” ν”„λ ˆμž„μ›Œν¬μ—μ„œ μ œκ³΅ν•˜λŠ” κ·œμΉ™κ³Ό ꡬ쑰에 맞좰 μ½”λ“œλ₯Ό μž‘μ„±ν•˜κ³ , κ·Έ κ³Όμ •μ—μ„œ ν”„λ ˆμž„μ›Œν¬κ°€ ν•„μš”ν•œ μ‹œμ μ— 개발자의 μ½”λ“œλ₯Ό ν˜ΈμΆœν•œλ‹€.
즉, ν”„λ ˆμž„μ›Œν¬κ°€ μ œμ–΄ 흐름을 μ£Όλ„ν•˜κ³ , κ°œλ°œμžλŠ” κ·Έ 흐름에 맞좰 μ½”λ“œλ₯Ό μ‚½μž…ν•˜λŠ” ν˜•νƒœμ΄λ‹€.

 

πŸ“šλΌμ΄λΈŒλŸ¬λ¦¬
λΌμ΄λΈŒλŸ¬λ¦¬λŠ” κ°œλ°œμžκ°€ ν˜ΈμΆœν•˜λŠ” 도ꡬ이닀.
κ°œλ°œμžκ°€ ν•„μš”ν•  λ•Œ 라이브러리의 ν•¨μˆ˜λ‚˜ λ©”μ„œλ“œλ₯Ό ν˜ΈμΆœν•˜μ—¬ κΈ°λŠ₯을 μ‚¬μš©ν•œλ‹€.
즉, μ œμ–΄ 흐름은 κ°œλ°œμžμ—κ²Œ μžˆμŠ΅λ‹ˆλ‹€. κ°œλ°œμžκ°€ 라이브러리λ₯Ό ν˜ΈμΆœν•˜λ©΄ κ·Έλ•Œ λΌμ΄λΈŒλŸ¬λ¦¬κ°€ μˆ˜ν–‰ν•˜κ³ , λ‹€μ‹œ μ œμ–΄κΆŒμ΄ κ°œλ°œμžμ—κ²Œ λŒμ•„κ°„λ‹€.

μ‚¬μš© λ°©μ‹μ˜ 차이

πŸ”ν”„λ ˆμž„μ›Œν¬
ν”„λ ˆμž„μ›Œν¬λŠ” νŠΉμ •ν•œ ꡬ쑰와 νŒ¨ν„΄μ„ μš”κ΅¬ν•œλ‹€. ν”„λ ˆμž„μ›Œν¬λŠ” κ°œλ°œμžκ°€ μ½”λ“œλ₯Ό μž‘μ„±ν•  λ•Œ 이λ₯Ό νŠΉμ •ν•œ λ°©μ‹μœΌλ‘œ κ΅¬μ„±ν•˜λ„λ‘ μœ λ„ν•œλ‹€.
예λ₯Ό λ“€μ–΄, Spring FrameworkλŠ” MVC(Model-View-Controller) νŒ¨ν„΄μ„ λ”°λ₯΄λ©°, κ°œλ°œμžλŠ” 이 νŒ¨ν„΄μ— λ§žλŠ” ꡬ쑰둜 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μž‘μ„±ν•΄μ•Ό ν•œλ‹€.

 

πŸ“šλΌμ΄λΈŒλŸ¬λ¦¬
λΌμ΄λΈŒλŸ¬λ¦¬λŠ” 보톡 λ‹¨λ…μœΌλ‘œ μ‚¬μš©λ˜λ©°, κ°œλ°œμžκ°€ μžμ‹ μ΄ μ›ν•˜λŠ” κΈ°λŠ₯만 μ„ νƒμ μœΌλ‘œ μ‚¬μš©ν•  수 μžˆλ‹€.
예λ₯Ό λ“€μ–΄, Javaμ—μ„œ λ‹€μ–‘ν•œ μœ ν‹Έλ¦¬ν‹°λ₯Ό μ œκ³΅ν•˜λŠ” λΌμ΄λΈŒλŸ¬λ¦¬λ“€μ΄ μžˆμ„ λ•Œ, κ·Έ 쀑 ν•„μš”ν•œ λΆ€λΆ„λ§Œ μ‚¬μš©ν•˜κ³  λ‚˜λ¨Έμ§€λŠ” λ¬΄μ‹œν•  수 μžˆλ‹€.

μ˜ˆμ‹œ: Spring Framework vs Java Library

Spring Framework
μ €λ²ˆ κΈ€μ—μ„œ μŠ€ν”„λ§μ˜ νŠΉμ§•μ„ λ‹€λ£¨μ—ˆκ³ , κ·Έ 쀑 "μ œμ–΄μ˜ μ—­μ „"으둜 μŠ€ν”„λ§μ΄ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 흐름을 κ΄€λ¦¬ν•œλ‹€λŠ” 것을 λ°°μ› λ‹€.μ°Έκ³ : Spring Framework의 λ“±μž₯ λ°°κ²½κ³Ό νŠΉμ§•

 

[Spring] WP 4-1. Spring을 μ“°λŠ” 이유: Spring의 λ“±μž₯ λ°°κ²½κ³Ό νŠΉμ§• feat. EJB

μŠ€ν”„λ§, μ–΄λ–€ 점이 쒋은데?

velog.io

https://syleeblog.tistory.com/20?category=1149957

 

[Spring] WP 4-1. Spring을 μ“°λŠ” 이유: Spring의 λ“±μž₯ λ°°κ²½κ³Ό νŠΉμ§• feat. EJB

πŸ€ λ“€μ–΄κ°€λ©΄μ„œμ™œ Spring을 μ‚¬μš©ν• κΉŒ? ν˜„μž¬ ν˜„μ—…μ—μ„œ κ°€μž₯ 많이 μ“°μ΄λŠ” ν”„λ ˆμž„μ›Œν¬λŠ” 단연 Spring이 1μœ„μ΄λ‹€.κ·Έλž˜μ„œ λ‚˜λ„ Spring, SpringBootλ₯Ό 배우고 μžˆμ§€λ§Œ Spring의 μ–΄λ–€ 점이 쒋은지, Spring을 μ™œ μ“°λŠ”

syleeblog.tistory.com

 

 

 κ°μ²΄μ˜ 생λͺ… μ£ΌκΈ°λŠ” κ°œλ°œμžκ°€ μ•„λ‹ˆλΌ μŠ€ν”„λ§ ν”„λ ˆμž„μ›Œν¬κ°€ κ΄€λ¦¬ν•˜λ©° μ œμ–΄μ˜ μ£Όλ„κΆŒμ€ μŠ€ν”„λ§ ν”„λ ˆμž„μ›Œν¬κ°€ κ°€μ§„λ‹€.

λ˜ν•œ MVC νŒ¨ν„΄μ²˜λŸΌ 컨트둀러-μ„œλΉ„μŠ€-λ ˆν¬μ§€ν† λ¦¬ μ•„ν‚€ν…μ²˜ λ“± ν”„λ ˆμž„μ›Œν¬μ— λ§žλŠ” ꡬ쑰에 κ°œλ°œμžκ°€ 따라야 ν•œλ‹€.

 

Java Libirary
 μžλ°” μ½”λ“œμ—μ„œ μ–΄λ–€ νŠΉμ •ν•œ 라이브러리λ₯Ό μ“°κ³  μ‹Άλ‹€λ©΄ μ•„λž˜μ²˜λŸΌ importλ₯Ό ν•΄μ•Όν•œλ‹€.
μ΄λŸ¬ν•œ μ½”λ“œλŠ” κ°œλ°œμžκ°€ 직접 μž‘μ„±ν•˜λŠ” κ²ƒμœΌλ‘œ μ œμ–΄μ˜ μ£Όλ„κΆŒμ΄ κ°œλ°œμžμ—κ²Œ μžˆλ‹€.

λΌμ΄λΈŒλŸ¬λ¦¬λž€ κ°œλ°œμžκ°€ 전체적인 κ·œμΉ™μ„ λ”°λ₯΄λŠ” 것이 μ•„λ‹ˆλΌ κ°œλ°œμžκ°€ μ›ν•˜λŠ” λΆ€λΆ„λ§Œ κ°€μ Έμ˜€λŠ” 것이닀.

 

import java.util.ArrayList;
import java.util.List;

μš”μ•½

λΌμ΄λΈŒλŸ¬λ¦¬λŠ” μ œμ–΄ 흐름이 κ°œλ°œμžμ—κ²Œ 있으며, ν•„μš”ν•œ κΈ°λŠ₯을 μ„ νƒμ μœΌλ‘œ ν˜ΈμΆœν•˜μ—¬ μ‚¬μš©ν•œλ‹€.
ν”„λ ˆμž„μ›Œν¬λŠ” μ œμ–΄ 흐름이 ν”„λ ˆμž„μ›Œν¬μ—κ²Œ 있으며, κ°œλ°œμžλŠ” κ·Έ 흐름에 맞좰 μ½”λ“œλ₯Ό μž‘μ„±ν•œλ‹€.

λ°˜μ‘ν˜•

'πŸ“° 기타 개발 자료' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

μ›Ή API: SOAP API, SOAPκ³Ό REST의 차이  (1) 2025.03.03
μ›Ή μ„œλ²„(Web Server) vs WAS(Web Application Server) κ°œλ… 이해와 차이 비ꡐ feat. Tomcat  (0) 2025.02.17
[객체지ν–₯ν”„λ‘œκ·Έλž˜λ°] μ‰¬μš΄ μ˜ˆμ‹œμ™€ ν•¨κ»˜ λ³΄λŠ” SOLID 원칙  (0) 2025.02.12
[Git] git fetch와 git pull의 이해  (0) 2025.02.12
[Git] git rebase와 git merge의 이해  (0) 2025.02.12
  1. ν”„λ ˆμž„μ›Œν¬ vs 라이브러리
  2. μ œμ–΄ νλ¦„μ˜ 주체의 차이
  3. μ‚¬μš© λ°©μ‹μ˜ 차이
  4. μ˜ˆμ‹œ: Spring Framework vs Java Library
  5. μš”μ•½
'πŸ“° 기타 개발 자료' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • μ›Ή API: SOAP API, SOAPκ³Ό REST의 차이
  • μ›Ή μ„œλ²„(Web Server) vs WAS(Web Application Server) κ°œλ… 이해와 차이 비ꡐ feat. Tomcat
  • [객체지ν–₯ν”„λ‘œκ·Έλž˜λ°] μ‰¬μš΄ μ˜ˆμ‹œμ™€ ν•¨κ»˜ λ³΄λŠ” SOLID 원칙
  • [Git] git fetch와 git pull의 이해
μ†Œμ˜ πŸ€
μ†Œμ˜ πŸ€
Hello World ✨
  • μ†Œμ˜ πŸ€
    Soyoung's Dev Lab
    μ†Œμ˜ πŸ€
  • 전체
    였늘
    μ–΄μ œ
  • κΈ€μ“°κΈ° 관리
    • λΆ„λ₯˜ 전체보기 (55) N
      • πŸ“’ κ²Œμ‹œνŒ (0)
      • 🌿Spring (17)
      • β˜•Java (8)
      • βš™οΈ CS (11) N
        • πŸ›œ λ„€νŠΈμ›Œν¬ (5) N
        • πŸ“Š λ°μ΄ν„°λ² μ΄μŠ€ (3)
        • πŸ–²οΈμš΄μ˜μ²΄μ œ (2)
        • πŸ“š 자료ꡬ쑰 & μ•Œκ³ λ¦¬μ¦˜ (1)
      • πŸ“€ 배포 (4)
        • Docker (4)
        • AWS (0)
      • πŸ“° 기타 개발 자료 (12)
      • πŸ–₯️ ν”„λ‘œμ νŠΈ (0)
      • πŸ‘©β€πŸ’» ν™œλ™ & ν›„κΈ° (1)
      • 🍡 이야기 (2)
  • λΈ”λ‘œκ·Έ 메뉴

    • νƒœκ·Έ
  • 링크

    • github
    • velog
  • 곡지사항

  • 인기 κΈ€

  • νƒœκ·Έ

    λ„€νŠΈμ›Œν¬
    자료ꡬ쑰
    μ„œλ²„
    배포
    Spring
    docker
    μ•Œκ³ λ¦¬μ¦˜
    λ°μ΄ν„°λ² μ΄μŠ€
    μ½”λ“œμž‡ μŠ€ν”„λ¦°νŠΈ
    μœ„ν΄λ¦¬ 페이퍼
    Spring Security
    Java
    객체지ν–₯ν”„λ‘œκ·Έλž˜λ°
    GIT
    개발
    μ½”λ”©ν…ŒμŠ€νŠΈ
    기술 λ©΄μ ‘
  • 졜근 λŒ“κΈ€

  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.3
μ†Œμ˜ πŸ€
ν”„λ ˆμž„μ›Œν¬ vs 라이브러리 κ°œλ…

κ°œμΈμ •λ³΄

  • ν‹°μŠ€ν† λ¦¬ ν™ˆ
  • 포럼
  • 둜그인
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”

단좕킀

λ‚΄ λΈ”λ‘œκ·Έ

λ‚΄ λΈ”λ‘œκ·Έ - κ΄€λ¦¬μž ν™ˆ μ „ν™˜
Q
Q
μƒˆ κΈ€ μ“°κΈ°
W
W

λΈ”λ‘œκ·Έ κ²Œμ‹œκΈ€

κΈ€ μˆ˜μ • (κΆŒν•œ μžˆλŠ” 경우)
E
E
λŒ“κΈ€ μ˜μ—­μœΌλ‘œ 이동
C
C

λͺ¨λ“  μ˜μ—­

이 νŽ˜μ΄μ§€μ˜ URL 볡사
S
S
맨 μœ„λ‘œ 이동
T
T
ν‹°μŠ€ν† λ¦¬ ν™ˆ 이동
H
H
단좕킀 μ•ˆλ‚΄
Shift + /
⇧ + /

* λ‹¨μΆ•ν‚€λŠ” ν•œκΈ€/영문 λŒ€μ†Œλ¬Έμžλ‘œ 이용 κ°€λŠ₯ν•˜λ©°, ν‹°μŠ€ν† λ¦¬ κΈ°λ³Έ λ„λ©”μΈμ—μ„œλ§Œ λ™μž‘ν•©λ‹ˆλ‹€.