프로그래밍을 공부하면서 우리가 손쉽게 프로그래밍을 할 수 있는 이유는 언어에서제공하는 라이브러리와 프레임워크 덕분이라는 말을 꼭 한번쯤 들어 봤을 것이다. 대체 라이브러리와 프레임워크가 뭘까?
라이브러리 (Livrary)란 무엇인가?
Java에서는 우리가 원하는 모든것은 객체 즉,class단위로 작성하여 프로그램을 작성한다. 우리가 작성하는 class외에 Java에서는 미리 자주사용되고 유용한 기능을 하는 class들을 만들어 놓고 제공을한다. 이떄 이 클래스들을 관련된 기능별로 분류하여 패키지단위로 묶어서 관리하는데 이 패키지 파일을 라이브러리라고 한다. API는 이러한 클래스들의 코드를 문서로 제공하는 것이다.
- 활용 가능한 도구들의 집합, 주로 클래스나 함수로 이용 되어진다.
- 재사용성을 높이고 반복적인 코드 사용을 낮추기 위하여 사용한다.
- 재사용이 가능한 코드의 집합이라고 볼 수 있다.
- 자주 쓰일 만한 기능들을 모아 놓은 유틸(클래스)들의 모음집
(라이브러리 예시 : jQuery
프레임워크(Framework)란 무엇인가?
프레임워크는 뼈대나 기반구조를 뜻하는데, Application 개발 시 필수적인 코드, 알고리즘, 데이터베이스 연동 등과 같은 기능들을 위해 어느정도 뼈대(구조)를 제공해주는 것입니다. 그러므로 그러한 뼈대 위에 프로그래머가 코드를 작성하여 Application을 완성시켜야 합니다. 어느정도 뼈대를 제공해 주기 때문에, 객체 지향 개발을 하면서 일관성 부족 등의 문제를 해결해 줍니다.
그래서 소프트웨어에서는 프레임워크를 아래와 같이 정의하곤 합니다.
- 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔일련의 협업화된 형태로 클래스들을 제공하는 것
Framework와 Library의 차이
Framework와 Library의 차이는 Flow(흐름)에 대한 제어 권한이 어디에 있느냐의 차이입니다. 프레임워크는 전체적인 흐름을 자체적으로 가지고 있으며, 프로그래머가 그 안에 필요한 코드를 작성하는 반면에 라이브러리는 사용자가 흐름에 대해 제어를 하며 필요한 상황에 가져다 쓰는 것입니다.
라이브러리와 프레임워크 차이 :
프레임워크 : 전체적인 흐름을 제어하고 프로그래머가 그 안에서 코드를 작성.
라이브러리 : 코드를 가져다 씀으로 사용자가 제어.
'Web Programming > 용어' 카테고리의 다른 글
컴포넌트 (Component) (0) | 2021.06.10 |
---|---|
API / OpenAPI (0) | 2021.06.08 |
비즈니스 로직 ( Business logic ) (0) | 2021.06.08 |