[자바] 패키지 (package)

Gammi·2022년 10월 18일
0

JAVA

목록 보기
12/35
post-thumbnail

📁 패키지


  • 클래스 파일들을 모아놓는 공간

    -> 서로 다른 패키지는 같은 이름의 클래스가 각각 따로 존재 가능

  • 자바에서 패키지를 생성하면, 폴더 구조로 된 패키지가 생성됨


  • 특정 클래스 파일은 하나의 패키지에만 소속 가능

  • 자바의 모든 클래스는 클래스명 앞에 패키지명을 기술하여 표기

    • 상위 패키지명.하위 패키지명.클래스명 형태로 지정

    • 패키지명 중복되지 않도록 도메인 네임 사용





📂 package 키워드


  • 특정 클래스 파일 첫 번째 라인에 해당 클래스가 소속된 패키지명 명시

  • 실제 클래스 파일의 위치와 패키지명이 다를 경우 오류 발생

  • 반드시 주석을 제외한 첫 번째 라인에서 사용

    -> 클래스 내 단 한번만 사용 가능


< 패키지 키워드 사용 기본 문법 >

소스코드 첫 번째 라인에서
package 패키지명;





📂 import 키워드


  • 특정 패키지를 자주 사용하는 경우 import문을 사용하여 해당 패키지와 같은 클래스명을 지정할 경우 패키지명 생략 가능

    -> 원래는 패키지명.클래스명 형태로 지정

  • java.lang 패키지 는 유일하게 import 없어도 생략 가능한 패키지

  • import문은 패키지명보다 아래, 클래스 선언부보다 위쪽에 위치하며, 여러 번 작성 가능

  • import문 뒤에 패키지명과 클래스명을 지정하여 등록, 클래스명 대신 만능문자(*) 지정할 경우 해당 패키지 내 모든 클래스 포함시킴


< import 키워드 사용 기본 문법 >

  • import 패키지명.클래스명;
  • import 패키지명.*;

🔗 참고

자동 import 단축키

ctrl + shift + o





java.lang 패키지에 Stirng 클래스를 지정하는 방법

  • 패키지명 명시하고 . 붙인 뒤 클래스명 지정

  • java.lang 패키지는 생략 가능한 패키지 이름이므로 클래스명만 지정 가능


java.lang.String str; // java.lang 패키지의 String 클래스 선언
// 또는
String str; // java.lang 패키지는 생략 가능함



java.lang 패키지 외 나머지 패키지

  • 패키지명 생략할 경우 컴파일 에러 발생

  • 클래스가 포함된 패키지를 import문으로 지정할 경우 패키지명 생략하고 클래스명만 사용 가능

  • 서로 다른 패키지에 동일한 이름의 클래스가 존재할 경우 import문을 포함시키더라도 최소 하나의 클래스는 패키지명까지 명시해야 함

    -> 실제 작성 시 명확한 구분을 위해 둘 다 패키지명 명시하는 게 더 좋음


Random r; 
// 컴파일 에러 발생
// java.util 패키지는 생략 불가능한 패키지임

java.util.Random r;

//============================================
import java.util.Random; // import문 지정

public class Ex {
  public static void main(String[] args) {
    Ramdom r2; // 클래스명만 사용
    Ex ex = new Ex(); // 현재 클래스명이기 떄문에 인스턴스 생성 가능
  }
}
profile
개발자가 되었어요⭐️

0개의 댓글