Java
라이브러리와 모듈 이란
worldcenter
2025. 3. 7. 22:01
라이브러리란
라이브러리(Library)는 프로그램 개발 시 활용할 수 있는 클래스와 인터페이스들을 모아놓은 것을 말합니다. 일반적으로 JAR 압축 파일(~.jar) 형태로 존재합니다. JAR 파일에는 클래스와 인터페이스의 바이트코드 파일(~.class)들이 압축되어 있습니다.
특정 클래스와 인터페이스가 여러 응용프로그램을 개발할 때 공통으로 자주 사용된다면 JAR 파일로 압축해서 라이브러리로 관리하는 것이 좋습니다.
모듈 이란
모듈은 패키지 관리 기능까지 포함된 라이브러리 입니다. 일반 라이브러리는 내부에 포함된 모든 패키지에 외부 프로그램에서의 접근이 가능하지만, 모듈은 다음과 같이 일부 패키지를 은닉하여 접근할 수 없게 합니다.
또 다른 차이점은 모듈은 자신이 실행할 때 필요로 하는 의존 모듈을 모듈 기술자(module-info.java)에 기술할 수 있기 때문에 모듈 간의 의존 관계를 쉽게 파악할 수 있습니다.
모듈도 라이브러리 이므로 JAR 파일 형태로 배포할 수 있습니다. 응용프로그램을 개발할 때 원하는 기능의 모듈(JAR) 파일을 다운로드 해서 이용하면 됩니다. 대규모 응용프로그램은 기능별로 모듈화해서 개발 할 수 있습니다. 모듈별로 개발하고 조립하는 방식을 사용하면 재사용성 및 유지보수에 유리하기 때문입니다.