티스토리 뷰

코딩/Java

Java 입문기 07. 패키지

꼬낄라 2021. 7. 15. 12:41

목표

자바의 패키지에 대해 학습하세요.

학습할 것 (필수)

  • package 키워드
  • import 키워드
  • 클래스패스
  • CLASSPATH 환경변수
  • -classpath 옵션
  • 접근지시자

1. Package 키워드

Java를 작성할 때 가장 먼저 작성하는 부분이 바로 package부분 이다. 프로젝트내에 해당 클래스등이 어느 패키지 안에 존재 하는지를 정의하는 것인데 , 여기서 패키지는 프로젝트라는 최상위 폴더 안에 하위 폴더들을 말한다.

package test1.test2

class A{
}

프로젝트명/test1/test2/A.java 로 존재한다면 .위의 예시처럼 작성하면된다. package 구문을 작성하지 않으면 jvm이 참조할 클래스의 위치를 알 수 없기 때문에 에러가 난다. 항상 현재 내가 프로그램을 실행하게 되는 위치를 정확하게 인지하고 해당 위치에서부터 이용할 클래스나 source들의 상대적 위치를 파악하는것이 중요하다.

2. import

자바는 같은 패키지 내의 클래스는 자동적으로 참조가 가능하지만 다른 패키지내의 클래스는 직접 지정해줘야한다.
이때 사용하는 구문이 import구문이다.

package test1.test2;

//import 패키지명.패키지명.클래스이름;
import java.util.scanner; 
import java.util.*;

import 구문은 위의 예시와 같이 package 구문 다음으로 작성한다.
위와같이 scanner라는 클래스만을 참조할 수 있고, 클래스명위치에 *을 입력하면 해당 패키지내의 모든 클래스를 참조한다는 의미이다. 즉, package는 현재클래스의 폴더위치, import는 다른 클래스의 폴더위치와이름 을 의미한다.

3.접근지시자

  • 접근 지시자 : 적용된 키워드에 따라 해당 객체, 메서드가 가시될 범위를 결정한다.
    • public:모든 클래스에서 해당 클래스를 참조 가능하다.
    • package-private: 해당 클래스가 포함된패키지 내에서만 참조 가능하다. (지정이 없는 경우)
    • protect:서브, 하위 클래스와 동일 패키지 내부에 존재하는 클래스만 참조 가능하다.
    • private:자기 자신인 객체 내부에서만 참조 가능하다. (인터페이스도 JDK9부터 사용 가능)

4. classpath

클래스패스는 JVM이나 자바컴파일러가 실행시키고자 하는 클래스의 위치를 말한다.
CMD창에서 원하는 폴더에 있는 클래스를 실행하길 원한다면
클래스패스를 그 폴더로 지정하거나,
클래스패스를 .으로 지정해준 뒤 CMD를 해당 폴더로 이동하고 클래스를 실행하면된다.

4-1 Classpath 환경변수

클래스 패스는 시스템에서 직접 정해줄 수 있는데 대부분 .으로 지정하고 CMD등을 이동하여 컴파일한다.

4-2 -Classpath 옵션 

CMD창에서 set classpath 를 입력하면 현재 클래스 패스를 확인할 수 있는데
여기서 java -classpath 원하는디렉토리 또는 set classpath=디렉토리 를 입력하면 클래스패스를 변경할 수 있다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함