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