출처 : [자바의 정석 - 기초편], 남궁성의 정석코딩 / Java의 정석 3rd Edition
패키지(Package)
서로 관련된 클래스의 묶음으로 물리적으로 클래스파일(.class)를 포함하는 하나의 디렉토리이다. 클래스의 실제 이름은 패키지 명을 포함한다. ( ex) String클래스 -> java.lang.String )
패키지의 선언
- 패키지는 소스파일의 첫번째 문장으로 단 한번 선언만을 허용 ( package 패키지명; )
- 같은 소스 파일의 클래스들은 모두 같은 패키지에 속함
- 모든 클래스는 반드시 하나의 패키지에 속해야 함
- 패키지는 점(.)을 구분자로하여 계층구조로 구성됨
- 패키지 선언이 없으면 이름없는 패키지 (default package)에 속하게 됨
클래스패스(classpath)
클래스 파일(*.class)의 위치를 알려주는 경로로, 환경변수 classpath로 관리하고 경로간의 구분자는 ';(세미콜론)'를 사용한다. classpath(환경변수)에 패키지의 루트를 등록해줘야 한다.
(제어판 - 시스템 환경 변수 편집 - 환경변수 - 시스템 변수 새로만들기 - 이름: classpath / 변수값: 본인의 패키지 루트)
* 패키지루트를 따로 입력하지 않아도 환경변수에 등록했기 때문에 패키지 실행 가능함
import문
import문을 통해 컴파일러에게 클래스가 속한 패키지 정보를 제공한다. 사용하고자 하는 클래스의 패키지를 미리 명시하여 클래스이름에서 패키지명을 생략할 수 있다. java.lang 패키지의 클래스 경우 import하지 않고도 사용할 수 있음 (String, Object, System, Thread ..... )
import문의 선언
- import 패키지명.클래스명; / import 패키지명.*;
import문은 패키지문과 클래스선언 사이에 선언한다. import문은 컴파일 시에 처리되므로 프로그램의 성능에 영향없다. import 패키지명.*; 사용 시 하위패키지의 클래스를 포함하지 않는다.
- import java.util*;
import java.text.*;
위의 두 문장 대신 import java.* ; 사용할 수 없다.
static import문
static 멤버를 사용할 때 클래스 이름을 생략할 수 있게 한다. 코드를 짧게하기 위해 사용한다.
- import static java.lang.Math.random;
import static java.lang.Integer.* ;
import static java.lang.System.out;
System.out.println(Math.random()) ; -> out.println(random());
'Backend > Java' 카테고리의 다른 글
Java 기초 문법 : JVM 메모리구조 (0) | 2024.10.07 |
---|---|
Java 기초 문법 : 인터페이스(interface) (1) | 2024.06.19 |
Java 기초 문법 : 다형성(polymorphism) (0) | 2024.06.13 |
Java 기초 문법 : 제어자(modifier) (1) | 2024.06.13 |
Java 기초 문법 : this와 super() (0) | 2024.06.10 |
Java 기초 문법 : 클래스간의 관계 - 상속과 포함 (0) | 2024.06.09 |
Java 기초 문법 : 오버로딩에 대해서 (0) | 2024.05.26 |
Java 기초 문법 : 필드(field)와 메서드(method) (0) | 2024.05.21 |