on
[Java-Live-Study] 7주차 - 패키지
[Java-Live-Study] 7주차 - 패키지
목표
자바의 패키지에 대해 학습하세요.
학습할 것 (필수)
package 키워드
import 키워드
클래스패스
CLASSPATH 환경변수
-classpath 옵션
접근지시자
1. package 키워드
클래스들을 분류하는 클래스의 묶음으로서 디렉터리와 같다.
소스에 가장 첫 줄에 단 한 번만 명시되어야 함. 같은 소스 파일의 클래스들은 모두 같은 패키지에 속함 패키지 선언이 없으면 이름 없는 패키지에 속함
import java.util.*;
패키지 이름 규칙 소문자로 작성 자바 예약어 사용 금지(ex: java)
패키지를 사용하는 이유 이름 충돌 방지 클래스, 인터페이스, 이넘, 어노테이션 등 분류를 통해 쉽게 찾고 사용하기 위함 접근 제어 데이터 캡슐화
2. import 키워드
다른 패키지에 속한 클래스를 사용하기 위한 키워드
import java.util.Map; import java.util.*;
위와 같이 동일한 패키지의 모든 클래스를 와일드카드(*)를 이용하여 생략 가능
static import 일반 import와 다르게 메서드나 변수를 패키지, 클래스명 없이 접근 가능 호출 시 클래스명, 메서드명에서 클래스명을 생략 가능 자주 사용하는 정적 메서드를 간결하게 사용하기 위함
import static java.lang.System.out; public class blog { public static void main(String[] args){ // 일반적 import 시 System.out.println("hello world"); // System 생략 out.println("hello world"); } }
3. 클래스패스(CLASSPATH)
클래스를 찾기 위한 경로
JVM이 프로그램을 실행할 때 클래스 파일을 찾는데 기준이 되는 파일 경로
.class 파일이 포함된 디렉터리와 파일을 콜론으로 구분한 목록
CLASSPATH 환경변수 CLASSPATH 환경변수를 통해 클래스패스를 관리할 수 있다. OS에 맞게 시스템 변수로 등록할 수 있다.
-classpath 옵션 java 명령 실행 시 옵션으로 클래스패스를 지정할 수 있다. window의 경우 세미콜론, 리눅스의 경우 콜론으로 구분한다. ex) java -cp c:\jdk1.8\work com.javachobo.book.PackageTest
https://opentutorials.org/course/1223/5527
4. 접근지시자
public : 모든 접근 허용, 어떠한 클래스가 접근하든 모두 허용
protected : 같은 패키지와 상속받은 클래스 그리고 클래스 내부에서만 접근 가능
default : 기본 지정자, 특별히 접근 지정자를 명시하지 않을 시 적용됨, 같은 패키지와 클래스 내부에서만 접근
private : 외부에서는 접근이 불가능, 클래스 내부에서만 접근 가능
from http://changhyunit.tistory.com/95 by ccl(A) rewrite - 2021-10-26 15:01:57