자바의 라이브러리(Library)
- 라이브러리는 프로그램 개발 시 활용할 수 있는 클래스와 인터페이스들을 모아놓은 것을 뜻합니다.
- 일반적으로 JAR 압축 파일로 존재하며, 클래스, 인터페이스, 바이트코드 파일 들이 압축되어 있습니다.
- 특정 클래스와 인터페이스가 여러 응용프로그램을 개발할 때 공통으로 자주 사용된다면 JAR 파일로 압축하여 라이브러리로 관리하는 것이 좋습니다.
(해당 기능은 IDE에서 지원하기도 함) - 프로그램 개발 시 라이브러리를 이용하려면 JAR 파일을 ClassPath에 추가해야 합니다.
- ClassPath란 클래스를 찾기 위한 경로를 뜻하며, ClassPath에 라이브러리를 추가할 수 있는 방법은 3가지가 있습니다.
- 콘솔에서 java 명령어 실행 중 -classpath 옵션을 통해 추가
- CLASSPATH 환경변수에 경로를 추가
- IDE에서 프로젝트의 Build Path에 추가
자바의 모듈(Module)
- 자바 9부터 지원하는 모듈은 패키지 관리 기능까지 포함된 라이브러리입니다.
- 일반 라이브러리는 외부 프로그램에서 내부에 포함된 모든 패키지로의 접근이 가능합니다.
- 또한 모듈은 패키지를 은닉하여 접근할 수 없도록 제어할 수 있습니다.
- 모듈은 자신이 실행 할 때 필요로 하는 의존 모듈을 모듈 기술자(module-info)에 기술 할 수 있어 의존 관계를 쉽게 파악할 수 있습니다.
- 모듈도 라이브러리이기 때문에 JAR파일로 배포할 수 있습니다.
- 응용 프로그램은 하나의 모듈의 집합이기 때문에, 일정 단위로 나누거나 조합하여 완성할 수 있습니다.
- 응용 프로그램의 규모가 커질수록 서브 모듈로 쪼개어서 개발하는 것이 유지 보수나 재사용성에서 유리합니다.
배포용 모듈 파일 생성
- 모듈을 다른 모듈에서 쉽게 사용할 수 있도록 바이트코드(.class)로 구성된 배포용 JAR 파일을 생성할 수 있습니다.
- 이 경우 의존 관계에 있는 모듈을 모듈 기술자에서 설정해줄 필요가 있습니다.
- 파일 생성은 CLI이나 IDE를 통해 생성할 수 있습니다.
'Programing Language > Java' 카테고리의 다른 글
[Java] 자바 표준 라이브러리(Java Standard Library) (0) | 2022.07.18 |
---|---|
[Java] 자바 프로그램 모듈 관계 조정(Coordinating Module Relationships) (0) | 2022.07.18 |
[Java] 자바 패키지(Java Package) (0) | 2022.07.16 |
[Java] 예외 전가(Exception Imputation) (0) | 2022.07.14 |
[Java] 예외 처리(Exception Handling) (0) | 2022.07.13 |