IT/JAVA

패키지와 라이브러리

iamhyeon 2024. 9. 25. 16:35

ex) 

 

프로젝트 
    └─src 
        ├─ App.java 
        └─kr 
            └─hossam 
                ├─ Protoss.java 
                │ 
                └─unit 
                    ├─ Dragun.java 
                    └─ Zilot.java

 

 

 

< 패키지 >

 

- src 폴더의 하위폴더

- 관련 클래스 및 인터페이스 집합을 구성하는

 

패키지에 포함된 클래스는 어떤 패키지에 속해 있는지 명시해야 한다

Protoss.java -->>

package kr.hossam; 

import

- 클래스 정의 전 다른 패키지 안의 클래스를 참조하겠다는 선언문을 명시하면 클래스 이름만으로 객체 생성이 가능하다

- 패키지의 클래스 사용하려면 import 문 사용

- 내장 패키지: Java에는 java.util(유틸리티 클래스용), java.io(입력/출력용) 및 java.lang과 같은 내장 패키지 세트가 함께 제공된다 (자동으로 가져온다)

 

Dragun.java,    Zilot.java   -->>

package kr.hossam.unit; 
import kr.hossam.Protoss;

 

App.java -->>

import kr.hossam.Protoss;
import kr.hossam.unit.Dragun;
import kr.hossam.unit.Zilot;

 

 

< 라이브러리 >

 

- 컴파일이 완료된 클래스들을 배포 목적으로 패키지 단위로 그룹지어 압축한 형태

완성한 기능을 소스파일의 노출 없이 기능 단위로만 배포할 수 있다

- 공통 기능을 제공하여 개발을 용이하게 하는 재사용 가능한 코드 모음

- 확장자: *.jar

 

- 라이브러리 생성 방법
Ctrl + Shift + P  >  Java: Export Jar  >  without main class

 

- 일반적으로 라이브러리는 다른 프로그램이 활용할 수 있는 재료의 목적으로 생성하기 때문에 main 클래스를
포함하지 않는 형태로 압축한다

 

- 앞서 생성한 라이브러리(.jar)를 새로운 프로젝트의 lib 폴더에 넣는다.
- main 클래스에서 라이브러리 안의 기능을 활용한다.

--->>>

import kr.hossam.Protoss;
import kr.hossam.unit.Dragun;
import kr.hossam.unit.Zilot;

▽ main 클래스

Zilot z = new Zilot("질럿1호", 150, 130, 100); 
//~~~~~  생략 

Dragun d = new Dragun("드라군1호", 200, 150, 100); 
//~~~~~  생략 

Protoss p1 = new Dragun("드라군2호", 200, 150, 100); 
//~~~~~  생략

 


 

다른 패키지의 클래스로부터 객체를 생성해야 할 경우 해당 패키지의 전체 경로를 명시해야 한다.

kr.hossam.HelloWorld hello = new kr.hossam.HelloWorld();

프로젝트 
└─src 
    └─kr 
        └─hossam

 

import구문의 사용
클래스 정의 전 다른 패키지안의 클래스를 참조하겠다는 선언문을 명시하면 클래스 이름만으로 객체 생성이 가
능하다

import kr.hossam.HelloWorld;
public class Foo {
 ...
 HelloWorld h = new HelloWorld();
 ...
}

 

Scanner를 사용할 때 명시하던 import문은 java/util 폴더 안에 있는 Scanner 클래스를 참조한다는 것을 의미. 

Java언어 안에는 개발자가 참조할 수 있는 수 많은 클래스들이 package 형태로 내장되어 있다.

 

import 가 package 보다 먼저오는건 X

 

관례상  폴더구조를    회사도메인 역순. 프로그램명.하위기능  이런식으로 한다

java.com  ->  com.java.

 

mavenrepository.com

모든 java library 다 있다

 

java는 디컴파일 원본소스 뽑아올 수 있다

(

디컴파일  : 

원본 코드를 최대한 가깝게 재생성하는 것을 목표로 바이트코드를 가져와 다시 소스 코드로 변환한다.

그러나 컴파일 중에 수행된 최적화 및 변환으로 인해 결과가 원본과 동일하지 않을 수 있다.

)

 

'IT > JAVA' 카테고리의 다른 글

Java API - Lang package java.lang  (0) 2024.09.26
Helper  (0) 2024.09.26
예외처리  (0) 2024.09.25
static  (0) 2024.09.24
인터페이스  (0) 2024.09.24