코드스테이츠_국비교육/[Section2]

34.01_[Spring] Framwork, Library_22.10.11

생각없이 해도 생각보다 좋다. 2022. 10. 10. 19:01

Framework

>의미

: 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공

하는 것

: 프로그램이 건물이라면, 프레임 워크는 건물의 뼈대 및 구조라고 할 수 있다. 프레임워크를 사용한다는 것은 건물의 뼈대 및 구조를 제공받아 사용한다는 의미와 같다.

>장점

: 효율적으로 코드 작성 가능

: 정해진 규약이 존재하기 때문에, 코드의 파악 및 확장, 그리고 유지보수가 쉬움

>단점
: Framework를 사용하기 위해서는 해당 Framework를 학습해야함.

: 자유롭고 유연한 개발이 어렵다.

>Library

: 프레임워크가 큰 틀을 제공한다면, 라이브러리는 세부적인 부품을 제공한다.

: 프레임워크가 건물의 뼈대 및 구조라면, 라이브러리는 문, 창문, 형광등 등의 건물의 일부(부속품)이다.

: 프레임워크는 한 번 정해지면 교체가 어렵지만, 라이브러리는 언제든 쉽게 교체가 가능하고 선택적으로 사용 가능하다.

 

'프레임워크를 사용한다' 라는 것은 건물의 뼈대를 제공받고, 그 뼈대에 맞춰 건물을 지을 계획이라는 것이다.
건물의 뼈대를 제공받는다면, 뼈대를 만들 필요가 없으므로 건물을 짓는 것이 빠르고 편할 것이다. 또한, 건물의 뼈대에 맞게 부속과 재료를 쌓아 나가면 되는 것 또한 건물을 짓기에 편리함을 줄 것이다.
하지만 그 뼈대에 부속과 재료를 어떻게 쌓아야 되는지를 공부해야만 한다. 또한, 내가 짓고 싶은 건물이 63빌딩같은 큰 건물이어도 주어진 뼈대가 단독 주택의 뼈대라면 단독 주택을 지을 수 밖에 없다.

'라이브러리를 사용한다' 라는 것은 문, 창문, 창틀 등의 부속품들을 사용한다는 것이다. 이러한 부속품은 건물의 일부로써 건물이 건물답게 만들어지도록 하는 완성된 제품들이다.
이러한 부속품을 사용한다면, 건물을 짓는 기간을 줄일 수 있을 것이다. 일일이 만들 필요없이 만들어져 있는 부속품들을 그냥 가져다가 건물에 설치만 하면 되기 때문이다. 또한, 내 취향을 반영할 수 있다. 원하는 부속품을 골라서 사용하고, 맘에 들지 않으면 다시 갈아끼우면 된다.