테닝베어의 나날
[IT용어] 라이브러리, 플랫폼, 프레임워크?? 본문
라이브러리(Library)란?
중복/반복되는 코드를 재사용을 목적으로 함수나 클래스 같은 로직을 이용하여 묶어 놓은 것을 뜻한다.
플랫폼(Platform)이란?
프로그램이 실행되는 환경을 뜻한다. 쉽게말해서 프로그램이 살아가는 생태계(?)라고 보면 된다.
육지 동물들은 육지에서, 물고기들은 물 속에서 살 수 있는 것 처럼, 프로그램 또한 자신들의 생태계(플랫폼)에서만 살아갈 수 있다.
예로들어 윈도우OS용으로 만든 프로그램은 윈도우 환경에서만 실행되고, 리눅스OS에서 실행되는 프로그램은 리눅스OS 환경에서만 실행할 수 있다. 이때 윈도우OS와 리눅스OS를 플랫폼이라고 하는 것이고, 이 둘은 다른 플랫폼이다.
닷넷 런타임, 자바 런타임 환경 또한 플랫폼이라고 한다.
프레임워크(Framework)란??
GoF 디자인 패턴으로 유명한 랄프 존슨은 프레임워크를 다음과 같이 정의했다.
“프레임워크란 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 클래스들의 집합”
이 글만 읽어서는 무슨 소리인지 도통 모르겠다.
이런저런 글을 읽어서 이해해본 결과..
프레임워크란 쉽게말해서 프로그램을 만드는 '뼈대'라고 보면 된다.
'뼈대'라고 해서 프레임워크가 '뼈대', '틀' 역할만 하는게 아니라, 그 틀 위에 붙여진 코드(개발자가 만든)를 제어하는 역할도 한다.
프레임워크를 이용하면 생산성, 통일성, 안정성 높게 프로그램을 만들 수 있다.
이때 라이브러리도 클래스의 집합. 프레임워크도 클래스의 집합이기에 혼동하는 경우가 있는데,
라이브러리는 개발자가 원하는 시점에서 해당 클래스나 로직을 불러들이는것..
프레임워크는 프레임워크가 원하는 시점에서 해당 클래스들을 불러들이는 차이점이있다.
'IT' 카테고리의 다른 글
[MAUI] MAUI 간략 설명 및 사용해보기 (1) | 2022.01.30 |
---|---|
[C언어] 왜 포인터는 4byte 일까? (0) | 2016.09.20 |
[저장용] 프로그램 이름 정리 프로그램 (0) | 2016.04.08 |
[Xamarin & Android] Google Map API를 이용한 지도 뿌리기 (0) | 2015.09.22 |