자바 스터디

패키지

내일도무사히 2021. 1. 22. 21:50

 

 

백기선님의 Java 스터디를 진행하며 찾아본 내용입니다.

 

 

목표

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

 

학습할 것

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

 

 


 

 

pakage 키워드

관련 클래스를 그룹화 하는데 사용되어진다.

 

파일 디렉터리에서의 '폴더'라고 생각하면 된다.

 

이름간에 충돌을 방지 할 수 있고 패키지를 사용함으로써 보다 편리하게 관리 할 수 있다.

 

 

2가지의 카테고리로 나뉜다

  • Built-in Package (java API가 제공하는 패키지)
  • User-defined Package (유저가 만든 패키지)

 

Built-in Packages

  • Java API제공하는 라이브러리 클래스, 무료로 사용할 수 있으며 JDE안에 포함되어져 있다.
  • managing input, database programming 등등의 기능을 하는 컴포넌트들이 포함되어져 있다.
  • 자세한 API 리스트는 docs.oracle.com/javase/8/docs/api/ 에서 확인 할 수 있다.

 

 

 

 

Import 키워드

클래스나 패키지를 가져오는데에 사용한다

 

1
2
import package.name.Class;   // Import a single class
import package.name.*;   // Import the whole package
cs

 

 

 

클래스패스

JVM이 클래스 파일을 찾는데 사용하는 변수

 

다음과 같은 코드가 있다고 가정하자

 

 import org.company.Menu 
 
 Menu menu = new Menu() 

 

 

위의 패키지가 dir 폴더에 있다고 가정하고 Menu 클래스는 dir/org/company/Menu에 있다고 가정 할 때

classpath에 dir을 주게 되면 VM이 코드를 보고 해당 클래스를 import 해오게 된다.

 

-classpath 옵션

JDK tool에서 -classpath 옵션을 주거나 CLASSPATH 환경 변수를 설정함으로써 classpath를 설정해 줄 수 있다

다른 프로그램에 영향을 주지 않고 개별적으로 설정 할 수 있다.

 

 

 

// JDK Tool에서 사용
C:> set CLASSPATH=classpath1;classpath2...

 

or

 

 

// JDK tool에서 사용
C:> sdkTool -classpath classpath1;classpath2...

or

 

 

java -classpath C:\java\MyClasses utility.myapp.Cool

 

 

 

 

 

접근 지시자

  • Private - 클래스 내에서만 접근 가능하다.
  • Default - 패키지 밖에서는 접근이 불가능하다.
  • Protected - 패키지 내부와 패키지 밖에 있을 경우 자식 클래스에 한정해서 접근이 가능하다
  • Public - 어느곳에서나 접근이 가능하다

 

접근지시자 해당 클래스 내부 같은 패키지 내부 외부 패키지
and 상속받은 클래스
패키지 외부
private O X X X
Default O O X X
Protected O O O X
Public O O O O

 

 

 

 

 

Reference

www.w3schools.com/java/java_packages.asp

 

Java Packages

Java Packages Java Packages & API A package in Java is used to group related classes. Think of it as a folder in a file directory. We use packages to avoid name conflicts, and to write a better maintainable code. Packages are divided into two categories: B

www.w3schools.com

docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html

 

Setting the Class Path

Class Path Wild Cards Class path entries can contain the base name wildcard character (*), which is considered equivalent to specifying a list of all of the files in the directory with the extension .jar or .JAR. For example, the class path entry mydir/* s

docs.oracle.com

www.geeksforgeeks.org/classpath-in-java/

 

CLASSPATH in Java - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

www.javatpoint.com/access-modifiers

 

Access modifiers in java - Javatpoint

Access modifiers in java or java access modifiers such as private, default, protected and public with examples applied on data member, method, constructor or class.

www.javatpoint.com