프레임 워크의 개념에 대해 공부할 때에는 항상 라이브러리의 개념 혹은 API의 개념과 비교하여 공부하는데
프레임 워크란?
프레임워크는 개발자가 Java 프로그래밍 언어로 어플리케이션을 만들기 위해 사용할 수 있도록 미리 만들어 놓은 코드들을 의미한다. 우리가 파워포인트를 만들때 미리 작성된 템플릿을 이용하듯이 프레임워크 또한 우리가 어플리케이션을 만들때 필요에 따라 사용할 수 있도록 미리 작성된 템플릿이라고 알면 된다.
예시로는
- Spring
- Django
- Node.js
등이 있다.
라이브러리란?
라이브러리의 사전적 정의로는 컴퓨터 프로그램에서 빈번하게 사용되는 사전 컴파일된 루틴 또는 리소스의 집합이다.
이렇게 정리하면 이해가 되기 어려우니 쉽게 말하자면 우리가 직접 작성하는 class외에 빈번하게 사용되거나 유용한 기능들을 수행하는 class들의 집합을 java에서는 패키지 단위로 묶어서 관리하는데 이 패키지 파일을 라이브러리라고 한다.
이해를 돕기 위해 라이브러리의 예시로는
- java.lang
- java.util
- java.io
- java.net
등이 있다
API란?
API는 응용 프로그램들 간에 소통을 하기 위한 프로그램이다. Java를 이용한 코딩이 쉬울 수 있도록
자주 사용하거나 중요한 기능을 하는 코딩들을 클래스의 형태로 매크로(Macro) 처럼 사용하도록
만들어 놓고 '이렇게 사용한다' 라는 설명까지 합친것을 API라고 부른다
이러한 api들을 묶어 패키지화 시킨것이 라이브러리가 된다.
프레임워크 vs 라이브러리 차이점
프레임워크와 라이브러리는 둘 다 프로그래밍을 할 때 더욱 편리하게 사용할 수 있도록 미리 작성해 놓은 코드들의 집합이라는 목적이 같기 때문에 개념을 혼동하기 쉽다.
쉽게 설명하자면 자동차를 예시로 볼 때 프레임워크는 자동차의 뼈대이고 라이브러리는 자동차의 핸들,바퀴,브레이크 등이라고 생각할 수 있다.
프레임워크는 프로그램의 뼈대를 잡아주고 프로그래밍 규약을 정의해주며, 우리는 그 틀에 들어가 규약에 맞게 코딩을 해야한다.
즉 프레임워크는 흐름을 자체적으로 가지고 있고 개발자가 그 흐름을 따라가는 느낌이라면, 라이브러리는 우리가 사용하고 싶을때만 호출하여 사용할 수 있다, 전체적인 흐름이 개발자에게 있다는 말이다.
'Java 공부' 카테고리의 다른 글
2023/03/28 - 추상클래스와 인터페이스의 공통점과 차이 (0) | 2023.03.29 |
---|---|
[Java] Lazy Evaluation (0) | 2023.02.12 |
[JAVA] Char to Integer : 문자를 정수로 변환하기 (0) | 2023.01.25 |
[JAVA] 26장 I/O - 정의 및 File 클래스 생성자 (0) | 2023.01.19 |