Spring 기초 : 프레임워크, 라이브러리

커비·2024년 11월 29일
0

Spring

목록 보기
1/6

프레임워크(FrameWork)

소프트웨어 개발을 간편하게 만들기 위한 소프트웨어 개발 환경
프레임(틀) + 워크(일하다)의 합성어로 일하기 위한 틀을 제공함

프레임워크의 장점

  • 개발 프로젝트에 일관된 구조를 제공하여 코드의 일관성과 가독성을 높여주며 팀 협업이 편리해짐
  • 기본적으로 필요한 기능과 도구를 제공해 핵심 비즈니스 로직에 집중할 수 있음
  • 보안 관련 기능을 기본적으로 제공하여 보안 취약점을 방지하는데 도움을 줌
  • 통합된 테스트 환경과 도구를 제공하여 테스트를 쉽게 작성하고 실행할 수 있음
  • 인기있는 프레임워크는 방대한 커뮤니티 지원을 받으며 다양한 문서를 활용할 수 있음

프레임워크의 단점

  • 굉장히 복잡한 구조를 가지기 때문에 처음 익히는데 시간이 많이 소요
  • 프레임워크의 새로운 버전이 기존 코드와 호환되지 않을 수 있음
  • 정해진 규칙과 구조를 따르도록 강제하여 자유롭게 변경하기 어려울 수 있음

📚 라이브러리(Library)

애플리케이션 개발에 필요한 클래스, 함수 등을 모아 놓은 코드의 모음을 의미함
도서관에 있는 책처럼 소프트웨어를 만들 때 필요에 따라 원하는 기능을 구현하기 위해 가져다 쓸 수 있는 일종의 도구 역할을 수행함

라이브러리의 장점

  • 개발자가 복잡한 코드를 직접 작성하지 않아서 개발 생산성이 높아진다
  • 검증된 라이브러리는 테스트와 커뮤니티 지원을 통해 안정성과 품질이 보장된다.

라이브러리의 단점

  • 라이브러리가 업데이트 되거나 지원이 중단될 경우 문제가 발생할 수 있음
  • 버전 호환성 문제로 인해 다른 라이브러리나 기존 코드와 충돌이 발생할 수 있음 (생각보다 빈번하게 발생)
  • 불필요한 기능을 포함한 라이브러리를 사용하면 비효율적
  • 라이브러리의 내부 구현을 직접 수정하기 어려워 특정 요구 사항에 맞게 조정하기 힘들 수 있음

profile
전공은 컴퓨터공학, 복수전공은 해킹보안학, 직장은 방학(파워 구직중)

0개의 댓글