logo

자바 패키지

  1. 자바 패키지
  2. 패키지의 예
  3. 패키지에 접근 중
    1. 가져오기 패키지 이름별.*
    2. 패키지 이름.클래스 이름 가져오기
    3. 정규화된 이름으로
  4. 서브패키지
  5. 클래스 파일을 다른 디렉터리로 보내기
  6. -classpath 스위치
  7. 클래스 파일이나 jar 파일을 로드하는 4가지 방법
  8. 두 개의 공개 클래스를 패키지에 넣는 방법
  9. 정적 가져오기
  10. 패키지 클래스

자바 패키지 유사한 유형의 클래스, 인터페이스 및 하위 패키지 그룹입니다.

Java의 패키지는 내장 패키지와 사용자 정의 패키지의 두 가지 형태로 분류됩니다.

java, lang, awt, javax, Swing, net, io, util, sql 등과 같은 많은 내장 패키지가 있습니다.

여기에서는 사용자 정의 패키지를 생성하고 사용하는 방법을 자세히 학습합니다.

이진 검색 트리에서 삭제

Java 패키지의 장점

1) Java 패키지는 클래스와 인터페이스를 쉽게 유지 관리할 수 있도록 분류하는 데 사용됩니다.

2) Java 패키지는 액세스 보호를 제공합니다.

3) Java 패키지는 이름 충돌을 제거합니다.


Java 패키지의 간단한 예

그만큼 패키지 키워드 Java에서 패키지를 만드는 데 사용됩니다.

 //save as Simple.java package mypack; public class Simple{ public static void main(String args[]){ System.out.println('Welcome to package'); } } 

Java 패키지를 컴파일하는 방법

IDE를 사용하지 않는 경우 다음을 따라야 합니다. 통사론 아래에 주어진:

 javac -d directory javafilename 

을 위한

 javac -d . Simple.java 

-d 스위치는 생성된 클래스 파일을 저장할 대상을 지정합니다. /home(Linux의 경우), d:/abc(Windows의 경우) 등과 같은 디렉터리 이름을 사용할 수 있습니다. 패키지를 동일한 디렉터리 내에 유지하려면 를 사용할 수 있습니다. (점).


Java 패키지 프로그램 실행 방법

예를 들어 정규화된 이름을 사용해야 합니다. mypack.Simple 등을 사용하여 클래스를 실행합니다.


컴파일하기: javac -d . Simple.java
실행하려면: 자바 mypack.Simple
 Output:Welcome to package 
-d는 컴파일러에게 클래스 파일을 저장할 위치를 알려주는 스위치입니다. 즉, 대상을 나타냅니다. . 현재 폴더를 나타냅니다.

다른 패키지에서 패키지에 액세스하는 방법은 무엇입니까?

패키지 외부에서 패키지에 액세스하는 방법에는 세 가지가 있습니다.

  1. 패키지 가져오기.*;
  2. 패키지.클래스명 가져오기;
  3. 완전한 이름.

1) 패키지 이름 사용.*

package.*를 사용하면 이 패키지의 모든 클래스와 인터페이스에 액세스할 수 있지만 하위 패키지에는 액세스할 수 없습니다.

import 키워드는 현재 패키지에서 다른 패키지의 클래스와 인터페이스에 액세스할 수 있도록 만드는 데 사용됩니다.

패키지 이름을 가져오는 패키지의 예.*

 //save by A.java package pack; public class A{ public void msg(){System.out.println('Hello');} } 
 //save by B.java package mypack; import pack.*; class B{ public static void main(String args[]){ A obj = new A(); obj.msg(); } } 
 Output:Hello 

2) packagename.classname 사용

package.classname을 가져오면 이 패키지의 선언된 클래스에만 액세스할 수 있습니다.

import package.classname에 의한 패키지의 예

 //save by A.java package pack; public class A{ public void msg(){System.out.println('Hello');} } 
 //save by B.java package mypack; import pack.A; class B{ public static void main(String args[]){ A obj = new A(); obj.msg(); } } 
 Output:Hello 

3) 정규화된 이름 사용

정규화된 이름을 사용하면 이 패키지의 선언된 클래스에만 액세스할 수 있습니다. 이제 가져올 필요가 없습니다. 하지만 클래스나 인터페이스에 액세스할 때마다 정규화된 이름을 사용해야 합니다.

일반적으로 두 패키지가 동일한 클래스 이름을 가질 때 사용됩니다. java.util 및 java.sql 패키지에는 Date 클래스가 포함되어 있습니다.

정규화된 이름 가져오기에 의한 패키지의 예

 //save by A.java package pack; public class A{ public void msg(){System.out.println('Hello');} } 
 //save by B.java package mypack; class B{ public static void main(String args[]){ pack.A obj = new pack.A();//using fully qualified name obj.msg(); } } 
 Output:Hello 

참고: 패키지를 가져오는 경우 하위 패키지는 가져오지 않습니다.

패키지를 가져오면 하위 패키지의 클래스와 인터페이스를 제외하고 해당 패키지의 모든 클래스와 인터페이스를 가져옵니다. 따라서 하위 패키지도 가져와야 합니다.


참고: 프로그램 순서는 패키지, 가져오기, 클래스 순이어야 합니다.


자바의 서브패키지

패키지 내부의 패키지를 패키지라고 합니다. 하위 패키지 . 생성되어야 합니다. 패키지를 더 분류하기 위해 .

예를 들어, Sun Microsystem은 System, String, Reader, Writer, Socket 등과 같은 많은 클래스를 포함하는 java라는 패키지를 정의했습니다. 이러한 클래스는 특정 그룹을 나타냅니다. Reader 및 Writer 클래스는 입력/출력 작업을 위한 것이고, Socket 및 ServerSocket 클래스는 네트워킹 등을 위한 것입니다. 그래서 Sun에서는 Java 패키지를 lang, net, io 등의 하위 패키지로 하위 분류하고 io 패키지에 입출력 관련 클래스를 net 패키지에 Server 및 ServerSocket 클래스 등을 넣었습니다.

패키지 정의 기준은 domain.company.package 입니다. com.javatpoint.bean 또는 org.sssit.dao.

서브패키지의 예

 package com.javatpoint.core; class Simple{ public static void main(String args[]){ System.out.println('Hello subpackage'); } } 
컴파일하기: javac -d . Simple.java
실행하려면: 자바 com.javatpoint.core.Simple
 Output:Hello subpackage 

클래스 파일을 다른 디렉터리나 드라이브로 보내는 방법은 무엇입니까?

A.java 소스 파일의 클래스 파일을 c: 드라이브의 클래스 폴더에 넣고 싶은 시나리오가 있습니다. 예를 들어:

 //save as Simple.java package mypack; public class Simple{ public static void main(String args[]){ System.out.println('Welcome to package'); } } 

컴파일하기:

e:sources> javac -d c:classes Simple.java

실행하려면:

e:source 디렉터리에서 이 프로그램을 실행하려면 클래스 파일이 있는 디렉터리의 클래스 경로를 설정해야 합니다.
e:sources> 클래스 경로 설정=c:classes;.;
e:sources> java mypack.Simple

Java의 -classpath 스위치를 사용하여 이 프로그램을 실행하는 또 다른 방법:

-classpath 스위치는 javac 및 java 도구와 함께 사용할 수 있습니다.

e:source 디렉터리에서 이 프로그램을 실행하려면 클래스 파일을 찾을 위치를 알려주는 java의 -classpath 스위치를 사용할 수 있습니다. 예를 들어:

문자열 자바 반전

e:sources> java -classpath c:classes mypack.Simple

 Output:Welcome to package 

클래스 파일 또는 jar 파일을 로드하는 방법

클래스 파일을 임시로 로드하는 방법과 영구 로드하는 방법에는 두 가지가 있습니다.
  • 일시적인
    • 명령 프롬프트에서 클래스 경로를 설정하여
    • -classpath 스위치별
  • 영구적인
    • 환경 변수에 클래스 경로를 설정하여
    • 모든 클래스 파일이 포함된 jar 파일을 생성하고 jre/lib/ext 폴더에 jar 파일을 복사합니다.

규칙: 자바 소스 파일에는 하나의 퍼블릭 클래스만 있을 수 있으며 반드시 퍼블릭 클래스 이름으로 저장해야 합니다.

 //save as C.java otherwise Compilte Time Error class A{} class B{} public class C{} 

두 개의 공개 클래스를 패키지에 넣는 방법은 무엇입니까?

두 개의 공용 클래스를 패키지에 넣으려면 하나의 공용 클래스를 포함하는 두 개의 Java 소스 파일이 있어야 하지만 패키지 이름은 동일하게 유지하십시오. 예를 들어:
 //save as A.java package javatpoint; public class A{} 
 //save as B.java package javatpoint; public class B{} 

Java5의 정적 가져오기 기능은 무엇입니까?

Java5의 정적 가져오기 기능을 클릭하십시오.

패키지 클래스는 어떻습니까?

패키지 클래스를 보려면 클릭하세요.