ex) Spring 프레임워크 => Socker,InputStream, OutStream, Request가 이미 존재.
Library : A Library is a chunk of code that you can call from your own code, to help you do things more quickly/easily. For example, a Bitmap Processing library will provide facilities for loading and manipulating bitmap images, saving you having to write all that code for yourself. Typically a library will only offer one area of functionality (processing images or operating on zip files)
라이브러리 : 사용자가 코드를 더 빠르고, 쉽게 작성하기 위한 코드의 묶음. 예시로, 비트맵 처리 라이브러리는 비트맵 이미지들을 로딩하고, 다루기위한 편의기능들을 제공하는데 이를 통해 사용자는 자신이 작성해야하는 수고를 덜 수 있다. 라이브러리는 기능의 한 부분만을 제공한다.
자바에서는 한 패키지를 배포의 용이성을 위해 압축된 형태로 제공되며 재사용성이 있는 코드들을 묶어 놓은 형태이다.
Framework: A framework is a big library or group of libraries that provides many services (rather than perhaps only one focussed ability as most libraries/SDKs do). For example, .NET provides an application framework - it makes it easier to use most (if not all) of the disparate services you need (e.g. Windows, graphics, printing, communications, etc) to write a vast range of applications - so one "library" provides support for pretty much everything you need to do. Often a framework supplies a complete base on which you build your own code, rather than you building an application that consumes library code to do parts of its work.
프레임워크: 프레임 워크는 다양한 서비스를 제공하는 라이브러리들의 묶음 혹은 커다란 라이브러리를 의미한다. 예를들어 닷넷에서 제공하는 프레임 워크는 사용자가 작성해야할 넓은 범주(윈도우, 그래픽스 등)를 필요로 하는 서비스들을 대부분 사용하기 쉽게 만들어 준다. 그래서 하나의 라이브러리가 사용자가 필요로 하는 모든 도움을 준다면, 프레임 워크는 라이브러리를 사용한 어플리케이션보다 더 완전한 코드의 뼈대를 제공한다.
Java 프레임워크는 템플릿처럼 사용할 수 있는 미리 작성된 재사용 가능 코드의 본문이다. 완전한 뼈대를 제공하고, 사용자는 그 뼈대에 맞추어 필요한 리소스를 호출해야 한다.
An API (application programming interface) is a term meaning the functions/methods in a library that you can call to ask it to do things for you - the interface to the library.
API는 사용자가 원하는 일을 하도록 호출할 수 있는 라이브러리 내의 함수/메소드를 의미하는 용어 이다.