목표
자바의 패키지에 대해 학습하세요.
학습할 것 (필수)
package 키워드
import 키워드
클래스패스
CLASSPATH 환경변수
-classpath 옵션
접근지시자
-package 키워드
패키지란
클래스들을 하나로 묶어놓은것이다.
클래스 간의 이름 중복으로 발생하는 충돌을 막아준다.
클래스를 기능별로 분류할수 있어 필요한 클래스의 식별이 용이하다.
패키지 선언
pacakge 패키지 이름;
ex)package com.sh.book;
-이름없는 패키지
자바의 모든 클래스는 반드시 하나 이상의 패키지에 포함되어야하는데
자바 컴파일러는 소스파일에 어떠한 패키지 의 선언도 포함되지 않으면
기본적으로 이름없는 패키지를 포함해서 컴파일한다.
패키지를 명시하지 않는 모든 클래스와 인터페이스는 모드 같은 패키지에 포함된다.
자주 쓰는 패키지
-출처-
https://blog.hexabrain.net/120
패키지의 조건
1.하나의 소스파일에는 첫번째 문장으로 단 한번의 패키지 선언만을 허용한다.
2.모든 클래스는 반드시 하나의 패키지에 속해야한다.
3.패키지는 점(.)을 구분자로 하여 계층구조로 구성할수있다.
4.패키지는 물리적으로 클래스 파일을 포함하는 하나의 디렉토리이다.
-import 키워드
선언한 패키지 속한 클래스를 다른 파일에서 사용하기 위해서는 클래스 이름앞에 패키지의 경로까지 포함한 풀 네임을 명시해 사용해야하는데 클래스를 사용할때마다 너무 긴이름은 비효율적이므로 import키워드를 사용한다.
import문은 자바 컴파일러에 코드에서 사용할 클래스의 패키지에 대한 정보를 미리 제공하는 역할 을 한다.
import문의선언
1.import패키지 이름.class이름;
2.import패키지 이름.;
static import 문
static import문을 사용하면 static멤버를 호출할때 클래스 이름을 생략할수있다.
-클래스패스
클래스패스란 jvm이나 java컴파일러에
사용자 정의 클래스와 패키지의 위치를 지정해주는 파라메타이다.
-CLASSPATH 환경변수
JVM이 시작할때 JVM의 클래스 로더는 이 환경 변수를 호출한다.
그래서 환경 변수에 설정되어 있는 디렉토리가 설정되면그 디렉토리에 있는 클래스들을 먼저 jvm 에 로드한다.
-classpath 옵션
javac -classpath 를 입력하면 클래스 패스를 설정할수있다.
클래스 경로는 큰따옴표("")안에 입력해야하며 클래스 경로는 콜론(:)을 이용해서 여러개 입력할수 있다.
-접근지시자
접근지시자는 클래스,변수 또는 메서드의 선언부에 함께 사용되어 부가적인 의미 를 부여하는데
제어자의 종류는 크게 접근지시자와 그외 접근지시자로 나뉜다.
접근지시자에는 public,protected,default,private이고
그외 접근지시자로는 static,final,abstract,synchronized등이있다.
접근지시자는 클래스나 멤버변수와 메소드에 주로사용되고, 하나의 대상에 하나의 접근지시자만 사용이가능하다.
또한 해당하는 멤버 나 클래스를 외부에서 접근하지 못하도록 한다.
접근지시자가 사용 될수 있는 곳은 클래스,멤버변수,메소드,생성자이며
1.private: 같은 클래스 내에서만 접근이 가능하다.
2.default: 같은 패키지 내에서만 접근이 가능하다.
3.protected:같은 패키지 내와 다른 패키지의 자손 클래스에서 접근이 가능하다.
4.public:접근에 제한이 없다.
출처
자바의 정석