딱콩이의 봄

라이브러리와 프레임워크의 차이 본문

개발/Spring

라이브러리와 프레임워크의 차이

코린이딱콩 2022. 8. 17. 23:38

프레임워크가 뭘까요?

원하는 기능, 구현에 집중하여 개발할 수 있도록 일정한 형태와 필요한 기능을 갖추고 있는 골격, 뼈대를 의미합니다.

 

프레임워크의 예

  • java 서버 개발에 사용되는 Spring
  • Python 서버 개발에 사용되는 Django, Flask
  • 안드로이드 앱 개발에 사용되는 Android

라이브러리는 뭘까요?

특정 기능을 모아둔 코드, 함수들의 집합이며 코드 작성 시 활용 가능한 도구들을 의미합니다. 그 기능을 사용하기 위해 불러와서 호출하는 방식을 생각하면 됩니다.

 

라이브러리의 예

  • 웹에서 사용자 인터페이스 개발에 사용되는React.js
  • HTML의 클라이언트 사이조작을 단순화하는 JQuery

프레임워크와 라이브러리

 

라이브러리와 프레임워크의 차이는 뭘까요?

 

라이브러리와 프레임워크의 차이는 제어흐름에 대한 주도성이 누구에게 있는가에 있습니다.

라이브러리를 사용하는 애플리케이션 코드는 애플리케이션 흐름을 직접 제어합니다. 단지 동작하는 중에 필요한 기능이 있을 때 능동적으로 라이브러리를 사용할 뿐입니다.

프레임워크는 거꾸로 애플리케이션 코드가 프레임워크에 의해 사용됩니다. 프레임워크 위에 개발한 클래스를 등록해두고, 프레임워크가 흐름을 주도하는 중에 개발자가 만든 애플리케이션 코드를 사용하도록 만드는 방식입니다. 프레임워크에는 분명한 제어의 역전 개념이 적용되어 있어야 합니다.

라이브러리의 경우 애플리케이션의 흐름을 사용자가 직접 제어해야 하지만, 프레임워크의 경우 코드를 연결할 수 있는 위치를 제공하고 필요에 따라 사용자가 연결한 코드를 호출하는 제어 흐름 권한을 가지고 있습니다.

'개발 > Spring' 카테고리의 다른 글

Spring Security  (0) 2023.02.02
DI, IoC  (0) 2022.08.18
MVC패턴이란?  (0) 2022.08.17
Comments