프레임워크란?
소프트웨어를 만들 때 뼈대가 되는 부분을 미리 구현한 클래스, 인터페이스, 메서드 등의 모음입니다. ex) spring,mybatis
장점
미리 구현해 둔 코드를 쓰기 때문에 빨리 만들 수 있고,
품질이 보장되어 있고,
체계적으로 이미 틀이 잡혀져 있기 떄문에 유지 보수 하는데 편리합니다.단점
익숙해 지는데에 시간이 걸릴 수 있고,
프레임워크 내부를 커스터마이징 하기 힘들고, 즉 유연성이 부족합니다.
언어가 아닌 프레임워크를 배우게 된다는 부작용이 있습니다.
라이브러리란?
소프트웨어 개발 시 사용되는 프로그램의 구성요소로, 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것이다. ex) 정적라이브러리, 동적라이브러리
차이점
프레임워크는 정해진 틀 안에서 맞춰서 사용해야 하지만 라이브러리는 내가 필요하면 사용하고 필요하지 않으면 사용하지 않아도 된다.