FrameWork와 Library

vvinter·2023년 2월 12일
0

개발용어

목록 보기
1/28

< FrameWork와 Library 비교 >


# FrameWork

사전적 의미는 뼈대나 기반구조를 뜻하며 소프트웨어에서의 프레임워크는 ‘소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 틀’을 의미한다.
즉, 프레임워크는 특정 프로그램을 개발하기 위한 여러 요소들과 메뉴얼인 룰을 제공하는 프로그램, 개발을 도와주는 역할이라고 할 수 있다.

  • 특징
    - 모듈화 : 프레임워크는 구현을 인터페이스 뒤에 감춰 모듈화를 강화하고 설계와 구현 변경에 따르는 영향을 최소화함
    - 재사용성 : 인터페이스를 통해 여러 애플리케이션에서 반복적으로 사용하는 일반적 컴포넌트를 정의하여 재사용성을 높임
    - 확장성 : 다형성을 통해 애플리케이션이 프레임워크의 인터페이스를 확장
    - 제어의 역행 : 프레임워크 코드가 전체 애플리케이션의 처리 흐름을 제어, 외부의 이벤트에 대해 애플리케이션이 어떤 메서드를 수행해야할지 결정

  • 구성요소
    - 개발환경 : 설계 , 구현, 테스트 등 개발에 필요한 지원 도구 모음
    - 실행환경 : 자바 기반 응용시스템 개발 시 필수적 기능을 패턴화해 미리 구현해둔 라이브러리 코드 모음
    - 운영환경 : 표준 프레임워크 기반 개발 시스템에 대한 운영 시 필요한 의사소통 및 모니터링 도구 모음
    - 관리환경 : 표준 프레임워크에 대한 기술 지원, 업그레이드 등 관리하기 위한 내부 업무 시스템

# Library

프레임워크가 뼈대, 틀, 기반이라면 라이브러리는 이것을 완성시키기 위해 사용되는 조각이라고 생각할 수 있다. 라이브러리는 단순 활용이 가능하며 효율적인 프로그램 개발을 위해 필요한 프로그램을 모아 놓은 집합으로 소프트웨어 개발 시 사용되는 프로그램의 구성요소, 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것이다. 즉, 라이브러리는 소프트웨어를 개발하기 쉽게 어떤 기능을 제공하는 도구들이라고 할 수 있다.

  • 구성
    - 도움말 : 라이브러리를 사용할 수 있도록 하는 도움말 문서
    - 설치 파일 : 라이브러리를 적용하기 위해 제공하는 설치 파일
    - 샘플 코드 : 라이브러리를 이해하고 손쉽게 적용하기 위해 제공되는 샘플 소스 코드

  • 종류
    - 표준 라이브러리 : 프로그래밍 언어가 기본 적으로 가지고 있는 라이브러리
    - 외부 라이브러리 : 표준 라이브러리와 달리 별도의 파일을 설치

# 장단점 비교

  • 프레임워크 장단점
    • 장점 : 시간과 비용을 절약할 수 있고 버그 발생 가능성을 낮출 수 있으며 유지보수가 쉽다
    • 단점 : 프레임워크에 있는 코드를 습득하고 이해하는 데 시간이 소요되며 기본 틀에 프로그래밍 규칙이 정해져 있기 때문에 그에 맞춰 코드를 작성해야한다
  • 라이브러리 장단점
    • 장점 : 코드의 재사용이 쉽고, 은닉성이 뛰어나다. 또한 이미 구현된 기능들을 호출하여 사용하기 때문에 시간을 절약할 수 있다.
    • 단점 :
      • 정적 라이브러리 : 어플리케이션의 크기에 라이브러리도 포함되기 때문에 실행파일의 크기가 커지고 비교적 성능이 떨어질 수도 있으며 코드가 유사하거나 중복이 많을 경우 메모리 공간 또한 중복으로 차지하게 되어 효율이 떨어질 수 있다.
      • 동적 라이브러리 : 외부에서 파일을 불러오기 때문에 버전이 맞지 않거나 제대로 링크되어있지 않으면 실행이 안 될 수 도 있다.

💡 나의 한줄 정리 : 프레임워크가 틀 안으로 사용자가 들어가는 느낌이라 한다면 라이브러리는 사용자가 라이브러리를 가져다 사용하는 느낌이라고 할 수 있다.

0개의 댓글