[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