쌤리

[자바 의존성 관련] 의존성과 라이브러리, 그리고 Jar 본문

자바 JAVA/자바 관련 상식

[자바 의존성 관련] 의존성과 라이브러리, 그리고 Jar

saml2l 2020. 5. 13. 13:18
  1. 의존성
    • 의존성이란 코드에서 두 모듈 간의 연결을 의미하며, 객체지향언어에서는 두 클래스 간의 관계를 말하기도 한다.
    • 일반적으로 둘 중 하나가 다른 하나를 어떤 용도를 위해 사용하는 것을 의미한다.
    • 연결된 하나의 모듈이 변경될 경우 의존한 다른 모듈까지 영향을 주기 때문에 의존성은 위험하다.
  2. 라이브러리
    • 다른 프로그램들과 링크되기 위해 존재하는 하나이상의 서브루틴이나 함수들의 집합으로, 링크될 수 있도록 컴파일된 형태인 목적코드 형태로 존재한다.
    • 라이브러리는 코드 재사용을 위해 조직화된 오래된 기법 중 하나로 라이브러리를 통해 기존에 만들어진 함수를 재활용 함으로써 프로그램의 제작 시간과 노력을 줄일 수 있다.
    • 각각의 함수는 독립적이기 때문에 필요한 함수만 호출하여 사용할 수 있다.
    • 라이브러리에는 정적으로 연결하는 정적 라이브러리와 동적으로 연결하는 동적라이브러리가 있다.
  3. JAR (Java Archive)
    • 여러개의 자바 클래스 파일과 클래스들이 이용하는 관련 리소스(텍스트, 그림 등) 및 메타데이터를 하나의 파일로 모아 자바 플랫폼에 응용 소프트웨어나 라이브러리를 배포하기 위한 소프트웨어 패키지 파일 포맷이다.
    • JAR 파일은 실제로 ZIP파일 포맷으로 이루어진 압축 파일로서 파일 확장자는 .jar이다. 컴퓨터 사용자들은 JDK에 포함된 jar 명령어를 이용하여 JAR파일을 만들거나 압축을 풀 수 있다.
    • JAR 파일은 자바 런타임이 효율적으로 애플리케이션을 배치할 수 있는 수단으로 설계되었다. 
    • 자바 애플리케이션을 구성하는 클래스와 관련 리소드들을 단일 파일로 묶어 압축된 형태인 JAR 파일은, 한 차례의 요청으로 애플리케이션 전체를 다운로드할 수 있게 해주며, JAR 파일 안에는 파일 이름들이 유니코드 텍스트로 저장되어 있다.
Comments