Java 20(패키지, 도메인 import)

Kang.__.Mingu·2024년 5월 9일
0

Java

목록 보기
22/108

패키지(Package)

  • 같은 목적의 Java 자료형(참조형)을 명확히 구분하여 저장하기 위한 폴더(디렉토리)

  • Java 자료형 : 클래스(Class), 인터페이스(Interface), 열거법(Enum), 레코드(Record), 어노테이션(Annotation)

  • Java 자료형을 쉽게 구분하여 사용하기 위해 패키지를 사용하는 것을 권장

  • 패키지는 프로그램을 개발하는 그룹(개인)의 도메인을 역방향으로 나열하여 작성한 후 작업명을 지정하여 작성하는 것을 권장

  • Java 자료형을 선언할 때 Java 소스파일의 처음 위치에 Java 자료형이 선언된 패키지를 반드시 작성

    형식) package 패키지경로

  • Java 자료형이 특정 패키지에 존재하는지를 명확히 구분하여 제공


도메인(Domain)

  • 인터넷에서 개인 또는 그룹이 사용하는 컴퓨터를 표현하기 위해 제공되는 문자로된 고유의 네트워크 식별자
  • ex) 도메인 : it.xyz >> 패키지 : xyz.it.app

import

  • 다른 패키지에 작성되 Java 자료형을 명확히 표현하여 제공하기 위한 키워드

    형식) import 패키지경로.자료형;

  • Java 자료형 대신 [ * ] 기호 사용하여 패키지의 작성된 모든 Java 자료형 제공 가능

  • package 선언문 뒤에 작성하고 Java 자료형 선언 전에 작성

  • 이클립스에서는 프로그램 작성에 필요한 Java 자료형을 import 선언문으로 처리하거나 불필요한 Java 자료형의 import 선언문을 제거하는 기능 제공

  • [Ctrl]+[Shift]+[O] - import 선언문을 정리하는 단축키

  • 인텔리제이는 [ Ctrl + alt + o ] 사용


JavaSubject (it 패키지)

 package xyz.it.subject;

public class JavaSubject {
	public void display() {
		System.out.println("it Java");
	}
}

OracleSubject (it 패키지)

package xyz.it.subject;

public class OracleSubject {
	public void display() {
		System.out.println("it Oracle");
	}
}

JavaSubject (uniwill 패키지)

package xyz.uniwill.subject;

public class JavaSubject {
	public void display() {
		System.out.println("유니윌 학원의 Java 과정입니다.");
	}
}

NetworkSubject (uniwill 패키지)

package xyz.uniwill.subject;

public class NetworkSubject {
	public void display() {
		System.out.println("it Network");
	}
}

SubjectApp

package xyz.it.app;

import xyz.it.subject.JavaSubject;
import xyz.it.subject.OracleSubject;
import xyz.uniwill.subject.NetworkSubject;

public class SubjectApp {
	public static void main(String[] args) {
		//같은 패키지에 선언된 Java 자료형은 패키지 경로를 표현하지 않아도 Java 자료형 사용 가능하지만
		//다른 패키지에 선언된 Java 자료형은 패키지 경로를 반드시 표현해야만 Java 자료형 사용 가능
		//xyz.itwill.subject.OracleSubject subject1=new xyz.itwill.subject.OracleSubject();
		
		//다른 패키지에 선언된 Java 자료형을 import 처리하면 패키지 경로를 표현하지 않고 
		//Java 자료형 사용 가능
		OracleSubject subject1=new OracleSubject();
		subject1.display();

		//이클립스에서는 다른 패키지의 Java 자료형을 사용할 경우 import 선언문을 자동으로 생성하는 기능 제공
		// => 자료형 이름 >> [Ctrl]+[Space] >> 엔터(Enter)
		NetworkSubject subject2=new NetworkSubject();
		subject2.display();
		
		//같은 이름의 Java 자료형이 여러개인 경우 패키지를 잘 구분하여 자료형 선택하여 사용
		JavaSubject subject3=new JavaSubject();
		subject3.display();
		
		//같은 이름의 Java 자료형이 이미 import 처리되어 있는 경우 import 처리 불가능 
		// => 패키지 경로를 표현하여 Java 자료형 사용 
		xyz.uniwill.subject.JavaSubject subject4=new xyz.uniwill.subject.JavaSubject();
		subject4.display();
	}
}
profile
최선을 다해 꾸준히 노력하는 개발자 망고입니당 :D

0개의 댓글