6. 프레임워크와 라이브러리

전성수·2024년 5월 22일

프레임워크와 라이브러리의 차이

프레임워크

개발자가 소프트웨어를 개발함에 있어 코드를 구현하는 개발 시간을 줄이고 코드의 재사용성을 증가 시키기 위해 일련의 클래스 묶음이나 뼈대, 틀을 라이브러리 형태로 제공되는 것.
제어의 역전 개념이 적용된 기술(작성한 객체나 메서드의 제어를 개발자가 아니라 애플리케이션이나 프레임워크에 위임하는 것)

  • 프레임워크의 특징

    1. 개발자가 따라야 하는 가이드를 제공함
    2. 개발할 수 있는 범위가 정해져있음
    3. 개발자를 위한 다양한 도구, 플러그인을 지원함
  • 장단점

    1. 개발 시간을 줄일 수 있음

    2. 정형화 되어 있어 일정 수준 이상의 품질을 기대

    3. 유지 보수가 쉬움

    4. 너무 의존하면 스스로 개발하는 능력이 없어짐

    5. 프레임위크를 배워야함.

  • 종류

  1. 영속성 프레임워크(Mybatis, Hibernate)
  2. 자바 프레임워크(Spring)
  3. 화면 구성 프레임워크(Bootstrap)
  4. 기능 및 지원 프레임워크(Log4j, JUnit5)

라이브러리

개발자가 만든 클래스들의 나열, 다른 프로그램들에서 사용할 수 있도록 제공하는 방식.


  • 둘의 차이
    라이브러리와 프레임워크의 차이는 제어 흐름에 대한 주도성이 누구에게/ 어디에게 있는가.

    1. 프레임워크는 스스로 제어 흐름의 주도성을 가지고 있음. vs 라이브러리는 개발자가 가지고 있음.
    2. 프레임워크는 집이고, 라이브러리는 가구이다.
    3. 라이브러리와 달리 프레임워크는 프로그래밍에 대한 규칙을 가지고 있음.(설정파일의 태그성정이나, DB연동 방법등에 대한 규칙을 가지고 있고 개발자는 이를 따라야함.)
profile
ㅡ/ㅡ

0개의 댓글