새소식

생각정리, 주절주절/개발에 도움되는 것들

프레임워크(framework)와 라이브러리(Library), 아키텍처(Architecture)의 차이점?

  • -

 

오늘은 프레임워크라이브러리, 아키텍쳐의 차이에 대해 써보려고 한다.

 

처음 개발 공부를 시작하고 많이 헷갈렸던 단어들이다.

다 비슷비슷하게 느껴졌기 때문!

 

그렇다면 프레임워크(Framework)의 정의를 먼저 살펴보자.

프레임워크는 사전적 정의에 따르면

소프트웨어 어플리케이션이나 솔루션의 개발을 수월하게 하기 위해 소프트웨어의 구체적 기능들에 해당하는 부분의 설계와 구현을 재사용 가능하도록 협업화된 형태로 제공하는 소프트웨어 환경을 말한다.

 

그러니까 쉬운 말로 풀어보자면,

개발을 좀 더 쉽게 할 수 있도록, 개발자들을 위해 소프트웨어의 기능들을 모아서

그 기능들을 편리하게 쓸 수 있게 제공하는 것이 프레임워크이다!

 

즉, 클래스와 인터페이스의 집합이라고 볼 수 있다.

기본적으로 구현되어 있는 기능 위에 응용 할 수 있도록 만들어주는 것.

예시로는 Spring, Node.js 등이 있다!

 

다음으로 라이브러리(Library)란 무엇일까?

라이브러리의 사전적 정의는 컴퓨터 프로그램이 사용하는 비휘발성 자원의 집합을 말한다.

 

이건 쉬운 예시가 있는데 바로 내장함수가 라이브러리 예시 중 하나이다.

Math.abs()라던지 str.subString()이라던지 이런 것들이 모두 라이브러리이다!

이렇게 단순하게 활용할 수 있는 것들을 라이브러리라고 말한다.

 

 

마지막으로 아키텍처(Architecture)란?

아키텍처란 시스템 구성 및 동작 원리를 나타내는 것이다.

혹은 개발자들 사이에서는 플랫폼에 맞는 설계를 뜻한다고 한다.

 

MVC(Model View Controller)

시스템의 구성과 동작원리를 잘 보여주는 아키텍처의 예시 중 하나이다!

MVC에 대한 자세한 설명은 아래 링크에 있다!

 

 

프레임워크와 라이브러리의 구조는 이렇다!

 

프레임워크는 코드와 라이브러리에 대한 흐름을 모두 가지고 있고,

라이브러리는 반면 개발자가 부르고 흐름을 제어한다는 차이가 있다!

이것도 결국 어제 포스팅했던 제어의 반전(IoC)에 대한 이해가 있어야하는 개념이다!

https://suzyalrahala.tistory.com/29

 

[spring]비전공자의 시각으로 풀어내는 spring이란?(+spring boot와 차이점)

스프링을 구글링하면 다양한 정보들이 나온다. 정확하고 깔끔한 정보들이 많지만 솔직히 비전공자의 눈으로는 이해할 수 없는 글들이 많다.  '자바 기반의 웹 어플리케이션을 만들 수 있는 프

suzyalrahala.tistory.com

(IoC설명 포스팅)

 

 

참고사이트:

 

https://linsaeng.tistory.com/35

https://m.blog.naver.com/dktmrorl/222121510562

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.