테닝베어의 나날

[IT용어] 라이브러리, 플랫폼, 프레임워크?? 본문

IT

[IT용어] 라이브러리, 플랫폼, 프레임워크??

테닝베어 2017. 6. 9. 18:38
728x90

라이브러리(Library)란?

중복/반복되는 코드를 재사용을 목적으로 함수나 클래스 같은 로직을 이용하여 묶어 놓은 것을 뜻한다.


플랫폼(Platform)이란?

프로그램이 실행되는 환경을 뜻한다. 쉽게말해서 프로그램이 살아가는 생태계(?)라고 보면 된다.

육지 동물들은 육지에서, 물고기들은 물 속에서 살 수 있는 것 처럼, 프로그램 또한 자신들의 생태계(플랫폼)에서만 살아갈 수 있다.

예로들어 윈도우OS용으로 만든 프로그램은 윈도우 환경에서만 실행되고, 리눅스OS에서 실행되는 프로그램은 리눅스OS 환경에서만 실행할 수 있다. 이때 윈도우OS와 리눅스OS를 플랫폼이라고 하는 것이고, 이 둘은 다른 플랫폼이다.

닷넷 런타임, 자바 런타임 환경 또한 플랫폼이라고 한다.


프레임워크(Framework)란??

GoF 디자인 패턴으로 유명한 랄프 존슨은 프레임워크를 다음과 같이 정의했다.

​“프레임워크란 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 클래스들의 집합”

이 글만 읽어서는 무슨 소리인지 도통 모르겠다.

이런저런 글을 읽어서 이해해본 결과..

프레임워크란 쉽게말해서 프로그램을 만드는 '뼈대'라고 보면 된다.

'뼈대'라고 해서 프레임워크가 '뼈대', '틀' 역할만 하는게 아니라, 그 틀 위에 붙여진 코드(개발자가 만든)를 제어하는 역할도 한다.

프레임워크를 이용하면 생산성, 통일성, 안정성 높게 프로그램을 만들 수 있다.


이때 라이브러리도 클래스의 집합. 프레임워크도 클래스의 집합이기에 혼동하는 경우가 있는데,

라이브러리는 개발자가 원하는 시점에서 해당 클래스나 로직을 불러들이는것..

프레임워크는 프레임워크가 원하는 시점에서 해당 클래스들을 불러들이는 차이점이있다.

Comments