ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 라이브러리와 프레임워크
    프로그래밍 2019. 9. 21. 13:29
    반응형

     

    개발을 하다보면 많이 사용되는 용어가 있는데 그 중 라이브러리, 프레임워크 

    라는 단어를 많이 접해 봤을 것이다.

    이번에는 라이브러리와 프레임워크 대해 알아보고, 스프링 프레임워크를

    사용하기 전에 숙지 하고 들어가자.

     

     

     

     

    1.라이브러리란(모듈이란)?

     

     라이브러리와 모듈은 통상 같다고 보면 된다. 차이점이 있지만 크게 보면 차이점이 없다.

    개발에서라이브러리는 정말 중요한 요소인데, 라이브러리란 개발자 들이 사용하기

    편하게 만들어놓은 것의 집합이라고 보면 된다. 

     

     

     

     

    내가 작은 프로그램을 만들 더라도 함수를 정의하고 반복적으로 사용하는 부분은 

    따로 빼고  불러 사용한다. 이렇게 따로 정의 하고 반복적으로 사용하여 재사용성과

    이식성을 활용하는 것이 바로 모듈인데, 이런 모듈을 많아져 어떤 개발에 편리하게 사용되고,

    그 집합이 커지게 되면 라이브러리라고 부르게 된다.

     

     

    쉽게 말해 모듈은 반복적인 내용을 정의해 놓은 것, 라이브러리는 반복적인 부분을

    정의해 놓은 것의 집합 정도로 보면 된다. 

    (다르다고 말하는 사람도 있다.큰 개념만 이해하자)

     

     

     

     

     

    2. 프레임 워크 란?

    프레임워크란 위키백과에선 '복잡한 문제를 해결하거나 서술하는데 사용되는 기본 개념구조이다.'라고

    표현하고, 간단히 뼈대, 골조,프레임워크 라고 한다. 

     

    프레임워크는 간단히 말해 라이브러리가 어떤 규약으로 정의 해서 만들어 놓은 모듈 등을 이용하여

    만든 구조 라고 보면 되는데, 개발자들이 만들기 쉽게 해놓은 수많은 라이브러리들의 집합이라고 면 보면 좋다.

    이런 라이브러리를 이용하여 규약을 만들고 이 규약이 곧 구조를 잡아 준다.

     

     

    말이 너무 어렵운것 같다... 

    그림으로 설명 해봐야 할 것 같다.

     

     

    통상 자동차로 설명을 많이 하는데, 이런 작은 부품들 하나하나가 모듈이라고 할 수 있다. 

    이것은 자동차에 반복적으로 들어가거나 사용이 가능하게 만든 것이다. 이런 모듈들이 모이면 

    라이브러리가 된다.

    이런 모듈이 모이게 되면 개발자들이 사용하기 편한 부분만 모아 두게 되는데,

    이렇게 모아둔 모듈의 집합이 라이브러리고, 이것은

     엔진같이 활용할수 있게끔 큰 단위로 성장하게 된다.

    라이브러리 들이 모여 구조를 잡게 되면 이런 프레임 워크 형태로 발전하게 되는데, 위에 사진처럼

    형태만 잡아주고 그 위에 범퍼, 문 등 요소를 조금씩 추가하여 자동차가 만들어지게 된다. 여기서 핵심(core)를 

    건드리기 보다는 다른 외적인 요소(ex 디자인)를 조금 씩 변형 하여 사용하게 된다.

    여기서 core를 프레임워크(구조)라고 할 수 있고 다른 외적인 요소는 개발자들이 코딩을 하거나 변형하여

    만든 결과 물이라고 할 수 있다.

    이렇게 모듈 에서 라이브러리, 라이브러리에서 프레임워크, 프레임워크에서 결과물이 나오게 된다.

    결과물이 바로 자동차라고 할수 있다. 부품은 모듈,엔진과 같은 부품은 모듈을 활용할 수준으로 올린 라이브러리,

    부품들을 활용하여 구조를 잡는 것이 프레임워크, 위에 외부적인 요소(디자인)등 이 첨가 되어 만든 자동차가

     바로 응용프로그램이라고 할 수 있다.

     

     

     

    글을 마치며, 재미있게 읽어 주었으면 좋겠고, 잘 이해 되어 개념 적인 부분 활용 했으면 좋겠다.

    스프링을 사용하는데 프레임워크의 개념을 잘 모른다면, 창피한 일인 것 같아 적어 보았다. 다음부턴 본격적으로 

    스프링에 대해 알아보고 파해쳐 보자

    반응형

    댓글

Designed by Tistory.