[Java] Package

Jay Mild Lee·2022년 12월 5일
0

Java

목록 보기
9/10

I. Package

package [Package명].(중략).[Package명]

1. Package란?

자바의 PackageClass집합이다. Package는 파일 시스템의 폴더 형태로 존재하며, Class를 유일하게 만드는 식별자 역할을 한다. Package계층적 구조로 이루어져있으며, 동일한 이름의 Class라도 다른 Package에 속해있다면 다른 Class로 인식한다.

Package의 기본적인 규칙들은 다음과 같다.

  1. 하나의 소스 파일에는 첫 줄에 한 번의 Package 선언만 가능하다.
  2. 모든 Class는 반드시 하나의 Package에 속한다.
  3. Package.을 구분자로 하여 계층 구조로 작성한다.

2. Package 내 Class 호출 방식

PackageClass를 호출하는 방식은 크게 두 가지로 나뉜다.

1) Package 주소 전체 이용 😕

java.util.Date today = new java.util.Date();
java.util.Date tomorrow = new java.util.Date();

2) import 사용

import java.util.*

Date today = new Date();
Date tomorrow = new Date();

2-1) Import란?

사용하고자 하는 Class 또는 Interface가 다른 Package에 소속되어 있는 경우, import를 통해 해당 객체의 위치를 컴파일러에게 명시하는 것

2-2). 주의할 점

*을 사용해, 동일한 Package에 소속된 모든 Class를 한번에 부를 수 있다. 하지만 상위 Packageimport해도 모든 하위 Packageimport되지는 않기 때문에, 컴파일 에러가 발생할 수 있다.

II. Class Path

💡 Class를 찾기 위한 경로.

1. 개요

JVM이 프로그램을 실행할 때, Class 파일을 찾는데 기준이 되는 파일 경로를 의미한다. 소스 코드(.java)를 컴파일하면, 소스코드는 바이트코드(.class)로 변경된다. JVM바이트코드를 실행하기 위해서는, 무엇보다 해당 파일을 찾을 수 있어야 한다.
classpath바이트코드경로를 지정하며, JVMclasspath에 지정된 모든 경로를 검색해 특정 Class에 대한 코드가 포함된 바이트코드를 찾는다.

2. Class Path 지정 방식

1) CLASSPATH 환경변수

💡 Window 기준으로 작성하였습니다.

시스템 환경 변수 설정을 통해 지정할 수 있다. JVM이 호출되면, CLASSPATH가 지정하는 디렉토리에 있는 클래스들이 먼저 JVM에 로딩된다. 따라서 CLASSPATH 환경 변수에는 필수적인 Class가 위치한 경로를 지정해주어야 한다.

2) -classpath 옵션 사용

javac -classpath <경로>

III. 접근지시자(Access Modifier)

💡 Class, Interface, 객체의 멤버의 접근을 제어하기 위해 사용

0개의 댓글