package and import

sycho·2023년 9월 24일
0

Java

목록 보기
11/18

package

  • class 및 interface들의 모임.

  • 같은 이름의 class가 하나의 package 안에 존재하는건 안되지만, 다른 package에 존재하는 것은 괜찮다.

  • 모든 class의 full name은 package 이름을 앞에 포함한다. 예를들어 String class의 full name은 java.lang.String이다.

  • 보통 물리적인 directory 하나가 package 하나로 취급된다. .class file 하나가 class 하나로 취급되는 것처럼 말이다.

  • source file에서 딱 한번만, 본인이 속할 package를 첫 문장에서 선언할 수 있다.

package yolo
  • 모든 class는 반드시 하나의 package에 속해야 한다.

  • .이 있는걸 보면 알겠지만 .을 기준으로 계층 구조가 이루어진다.

import

  • 사용할 특정 package 내 class를 full name을 사용하지 않고 class 이름만으로 사용하려 할 때 쓰인다.

  • package 선언 이후에 보통 집어넣는다. 여러개를 집어 넣어도 된다.

  • 구체적으로 사용할 class를 콕 집어서 import하는 것도 되고, package 안의 전체 class들을 집어넣는 것도 가능하다. 밑의 첫번째 줄이 전자, 두번째 줄이 후자. 둘의 실행상 성능 차이는 없고 컴파일 시간만 약간 더 차이날 수 있다.

import java.util.Calendar;
import java.text.*;
  • 모든 소스 파일은 암묵적으로 다음을 import문이 들어간다.
import java.lang.*;

static import

  • 사용할 특정 package 내 class의 static attribute나 method를 package, class 이름을 생략하고 사용하려 할 때 쓰인다.
import static java.lang.Math.random;
import static java.lang.System.out;

class Test {
	public static void main(String[] args) {
    	out.println(random());
    }
}
profile
안 흔하고 싶은 개발자. 관심 분야 : 임베디드/컴퓨터 시스템 및 아키텍처/웹/AI

0개의 댓글