Java 패키지 : Java에서 패키지를 만들고 사용하는 방법?



Java 패키지에 대한이 게시물은 패키지가 무엇인지, Java에서 패키지를 만들고 사용하여 효율적인 Java 프로그래머가되는 방법을 이해하는 데 도움이됩니다.

가장 혁신적인 패키지의 개념입니다.Java의 패키지는 클래스, 인터페이스, 열거 형, 주석 및 하위 패키지 그룹을 캡슐화하는 방법입니다. 개념적으로 Java 패키지는 컴퓨터의 다른 폴더와 유사하다고 생각할 수 있습니다. 이 튜토리얼에서는 다음의 패키지 기본 사항을 다룹니다.

이 기사에서 다루는 주제는 다음과 같습니다.





Java의 패키지 란 무엇입니까?

Java 패키지는 기능을 기반으로 유사한 유형의 클래스, 인터페이스 및 하위 클래스를 집합 적으로 그룹화하는 메커니즘입니다. 소프트웨어가 , 수백 또는 수천 개의 개별 클래스로 구성 될 수 있습니다. 나는t는 관련 클래스와 인터페이스를 패키지에 배치하여 구성을 유지하는 것이 좋습니다.

코딩하는 동안 패키지를 사용하면 다음과 같은 많은 이점이 있습니다.



    • 재사용 성: 다른 프로그램의 패키지에 포함 된 클래스는 쉽게 재사용 할 수 있습니다.
    • 이름 충돌 : 패키지클래스를 고유하게 식별하는 데 도움이됩니다. 예를 들어 company.sales.Employeecompany.marketing.Employee 클래스
    • 제어 된 액세스 : 제안 접근 보호 p와 같은순환 클래스, 기본 클래스 및 개인 클래스
    • 데이터 캡슐화 : 그들은 p클래스를 숨기는 방법을 제공하여 다른 프로그램이 내부 전용 클래스에 액세스하지 못하도록합니다.
    • 유지 관리 : 패키지로프로젝트를 더 잘 구성하고 관련 수업을 쉽게 찾을 수 있습니다.

자바로 코딩하는 동안 패키지를 사용하는 것이 좋습니다. 프로그래머는 다음을 수행 할 수 있습니다.쉽게 알아낼 , 인터페이스, 열거 및 관련 주석. Java에는 두 가지 유형의 패키지가 있습니다.

Java의 패키지 유형

패키지가 사용자에 의해 정의되었는지 여부에 따라 패키지는 두 가지 범주로 나뉩니다.

  1. 내장 패키지
  2. 사용자 정의 패키지

내장 패키지

기본 제공 패키지 또는 미리 정의 된 패키지는 다음의 일부로 제공되는 패키지입니다. (Java Development Kit)는 Java 프로그래머의 작업을 단순화합니다. Java API의 일부인 사전 정의 된 수많은 클래스와 인터페이스로 구성됩니다. 일반적으로 사용되는 내장 패키지 중 일부는 java.lang, java.io, java.util, java.applet 등입니다. 다음은 내장 패키지를 사용하는 간단한 프로그램입니다.



패키지 Edureka import java.util.ArrayList 클래스 BuiltInPackage {public static void main (String [] args) {ArrayList myList = new ArrayList (3) myList.add (3) myList.add (2) myList.add (1) System. out.println ( '목록의 요소는 다음과 같습니다.'+ myList)}}

산출:

목록의 요소는 다음과 같습니다. [3, 2, 1]

ArrayList 클래스는 java.util 패키지에 속합니다. 이를 사용하려면 import 문을 사용하여 패키지를 가져와야합니다. 코드의 첫 번째 줄 import java.util.ArrayList java.util 패키지를 가져 와서 하위 패키지 util에 있습니다.

사용자 정의 패키지

사용자 정의 패키지는 관련 클래스, 인터페이스 및 하위 패키지를 그룹화하기 위해 사용자가 개발 한 패키지입니다. 예제 프로그램의 도움을 받아 패키지를 생성하고 패키지 내에서 Java 프로그램을 컴파일하고 실행하는 방법을 살펴 보겠습니다.

추가 기능은 무엇입니까?

Java로 패키지 만들기

Java로 패키지를 만드는 것은 매우 쉬운 작업입니다. 패키지 이름을 선택하고 꾸러미 명령을 Java 소스 파일의 첫 번째 명령문으로 사용합니다. Java 소스 파일에는 패키지에 포함 할 클래스, 인터페이스, 열거 및 주석 유형이 포함될 수 있습니다.예를 들어, 다음 문은 MyPackage.

package MyPackage

package 문은 정의 된 클래스가 속한 패키지를 지정합니다.

노트 : package 문을 생략하면 클래스 이름이 이름이없는 기본 패키지에 저장됩니다. 기본 패키지는 짧은 프로그램에 적합하지만 실제 응용 프로그램에는 적합하지 않습니다.

Java 패키지에 클래스 포함

패키지 안에 클래스를 만들려면패키지 이름을 프로그램의 첫 번째 문장으로 선언하십시오. 그런 다음 패키지의 일부로 클래스를 포함합니다. 그러나 클래스는 하나의 패키지 선언 만 가질 수 있습니다. 개념을 이해하기위한 간단한 프로그램이 있습니다.

package MyPackage public class Compare {int num1, num2 Compare (int n, int m) {num1 = n num2 = m} public void getmax () {if (num1> num2) {System.out.println ( '최대 값 2 숫자는 '+ num1)} else {System.out.println ('두 숫자의 최대 값은 '+ num2)}} public static void main (String args []) {Compare current [] = new Compare [3] current [1] = 새 비교 (5, 10) 현재 [2] = 새 비교 (123, 120) for (int i = 1 i<3 i++) { current[i].getmax() } } } 

산출:

두 숫자의 최대 값은 10입니다. 두 숫자의 최대 값은 123입니다.

보시다시피 MyPackage라는 패키지를 선언하고 해당 패키지 내에 Compare 클래스를 만들었습니다. Java는 파일 시스템 디렉토리를 사용하여 패키지를 저장합니다. 따라서이 프로그램은 다음과 같이 파일에 저장됩니다. Compare.java MyPackage라는 디렉토리에 저장됩니다. 파일이 컴파일되면 Java는 .수업 파일과 동일한 디렉토리에 저장하십시오. 패키지 이름은이 파일이 저장된 디렉토리와 동일해야합니다.

다른 패키지의 클래스에서이 비교 클래스를 사용하는 방법이 궁금 할 수 있습니다.

다른 패키지를 가져 오는 동안 패키지 내부에 클래스 만들기

음, 아주 간단합니다. 가져 오기만하면됩니다. 가져온 후에는 이름으로 액세스 할 수 있습니다. 다음은 개념을 보여주는 샘플 프로그램입니다.

package Edureka import MyPackage.Compare public class Demo {public static void main (String args []) {int n = 10, m = 10 Compare current = new Compare (n, m) if (n! = m) {current.getmax ()} else {System.out.println ( '두 값이 동일합니다')}}}

산출:

두 값이 동일합니다.

나는 먼저 패키지를 선언했습니다. Edureka , 그런 다음 클래스를 가져 왔습니다. 비교 패키지 MyPackage에서. 그래서 주문다른 패키지를 가져 오는 동안 패키지 내부에 클래스를 만들 때

  • 패키지 선언
  • 패키지 가져 오기

음, import 문을 사용하지 않으려면 다른 패키지에서 패키지의 클래스 파일에 액세스하는 또 다른 대안이 있습니다. 가져 오는 동안 정규화 된 이름을 사용할 수 있습니다. .

클래스를 가져 오는 동안 정규화 된 이름 사용

다음은 개념을 이해하기위한 예입니다. 앞서 블로그에서 선언 한 것과 동일한 패키지를 사용할 것입니다. MyPackage .

package Edureka public class Demo {public static void main (String args []) {int n = 10, m = 11 // import 대신 정규화 된 이름 사용 MyPackage.Compare current = new MyPackage.Compare (n, m) if ( n! = m) {current.getmax ()} else {System.out.println ( '두 값이 동일합니다')}}}

산출:

두 숫자의 최대 값은 11입니다.

데모 클래스에서는 패키지를 가져 오는 대신 다음과 같은 정규화 된 이름을 사용했습니다. MyPackage.Compare 그것의 개체를 생성합니다. 패키지 가져 오기에 대해 이야기하고 있으므로 Java에서 정적 가져 오기의 개념을 확인하는 것이 좋습니다.

자바에서 정적 가져 오기

정적 가져 오기 기능이 도입되었습니다. 버전 5부터 Java 프로그래머가 모든 정적정규화 된 이름을 사용하지 않고 직접 클래스의 구성원.

package MyPackage import static java.lang.Math. * // static import import static java.lang.System. * // static import public class StaticImportDemo {public static void main (String args []) {double val = 64.0 double sqroot = sqrt (val) // sqrt () 메소드에 직접 액세스 out.println ( 'Sq. root of'+ val + 'is'+ sqroot) //'System.out}}을 사용할 필요가 없습니다.
 산출: 
Sq. 64.0의 루트는 8.0입니다.

정적 가져 오기를 사용하면 코딩이 덜 필요하지만 너무 많이 사용하면 프로그램을 읽을 수없고 유지 관리 할 수 ​​없게 될 수 있습니다. 이제 다음 주제 인 패키지의 액세스 제어로 이동하겠습니다.

Java 패키지의 액세스 보호

Java의 액세스 제어 메커니즘과 그에 대한 다양한 측면을 알고있을 것입니다. 액세스 지정자 . Java의 패키지는 액세스 제어에 또 다른 차원을 추가합니다. 클래스와 패키지 모두 데이터 캡슐화 . 패키지는 클래스 및 기타 하위 패키지의 컨테이너 역할을하는 반면 클래스는 데이터 및 코드의 컨테이너 역할을합니다. 패키지와 클래스 간의 이러한 상호 작용으로 인해 Java 패키지는 클래스 멤버에 대한 네 가지 가시성 범주를 처리합니다.

  • 동일한 패키지의 하위 클래스
  • 동일한 패키지의 비 서브 클래스
  • 다른 패키지의 하위 클래스
  • 동일한 패키지 나 하위 클래스에없는 클래스

아래 표는Java에서 패키지를 사용할 때 가능한 유형과 그렇지 않은 유형의 실제 그림 :

은밀한 수정 자 없음 보호 공공의

같은 클래스

동일한 패키지 하위 클래스

아니

동일한 패키지 비 서브 클래스

아니

다른 패키지 서브 클래스

아니

아니

다른 패키지 비 서브 클래스

아니

아니

아니

위 표의 데이터를 다음과 같이 단순화 할 수 있습니다.

  1. 공개로 선언 된 모든 항목은 어디서나 액세스 할 수 있습니다.
  2. private으로 선언 된 모든 것은 해당 클래스 내에서만 볼 수 있습니다.
  3. 액세스 지정자가 언급되지 않은 경우 요소는 동일한 패키지의 다른 클래스뿐 아니라 하위 클래스에도 표시됩니다.
  4. 마지막으로 선언 된 보호 요소는 현재 패키지 외부에서 볼 수 있지만 클래스를 직접 하위 클래스로 분류하는 클래스에서만 볼 수 있습니다.

이러한 방식으로 Java 패키지는 클래스에 대한 액세스 제어를 제공합니다. 자, 이것은 자바에서 패키지의 개념을 마무리합니다. 다음은 패키지를 사용할 때 염두에 두어야 할 몇 가지 사항입니다. .

기억해야 할 사항

  • 모든 수업은 일부 패키지의 일부입니다. package 문을 생략하면 클래스 이름이 기본 패키지에 저장됩니다.
  • 클래스는 하나의 패키지 문만 가질 수 있지만 둘 이상의 가져 오기 패키지 문을 가질 수 있습니다.
  • 패키지 이름은 파일이 저장된 디렉토리와 동일해야합니다.
  • 다른 패키지를 가져올 때 패키지 선언은 첫 번째 명령문이어야하며 그 뒤에 패키지 가져 오기가 와야합니다.

이것으로이 '자바 패키지'기사의 끝으로 이동합니다. 우리는 배웠다패키지가 무엇이며 왜 사용해야하는지. Java 패키지가 효율적인 Java 프로그래머에게 가장 중요한 부분 중 하나라는 것은 의심의 여지가 없습니다. 프로그래머의 코딩 스타일을 업그레이드 할뿐만 아니라 많은 추가 작업을 줄여줍니다.

'자바 패키지'에서이 기사를 찾았다면 전 세계에 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 이 자바 인터뷰 질문 외에도 자바 개발자가 되고자하는 학생과 전문가를 위해 설계된 커리큘럼을 마련했습니다.