JAVA

백기선 - JAVA STUDY/WEEK7

jCurve 2021. 1. 15. 23:46
728x90
반응형

목표

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

학습할 것 (필수)

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

package 키워드


패키지

  • 관련 클래스나 인터페이스등을 그룹화하여 구분짓는 폴더 개념의 단위
  • 네임스페이스를 정의하는 역할
  • 모든 클래스에는 클래스의 이름과 패키지 이름이 있으며 이 두가지를 합쳐서 표현하는 것이 한 클래스를 완전하게 표현했다고 할 수 있다(FQCN:Fully Qualified Class Name)
  • 소스의 가장 첫 줄에 위치해야 하며, 패키지 선언은 소스에 한 개만 존재할 수 있다.
  • 패키지 이름과 위치한 폴더의 이름이 같아야 한다.

패키지 명명 규칙

  • 소문자로 짓는다.
  • 자바의 예약어를 사용하면 안된다.
  • 소스 파일들을 그룹으로 구분하기 위해 점(.)으로 구분한다.
  • 컨벤션:웹사이트 주소르 ㄹ역으로 표한 형식, 사이트명으로 많이 구분한다

패키지 이름 지정 규치

패키지 시작이름 내용
java 자바 기본 패키지(java vendor개발)
javax 자바 확장 패키지(java vendor개발)
org 일반적으로 비영리 단체(오픈소스) 패키지
com 일반적으로 영리 단체(회사) 패키지

 

자바에서 자주 사용하는 기본적인 패키지들은 import를 따로 하지 않아도 사용할 수 있도록 빌트인 패키지로 제공된다.

import 키워드


import 키워드는 다른 패키지에 있는 클래스나 인터페이스 등을 참조할 때 사용한다.

빌트 인 패키지는 따로 import하지 않아도된다.

다른 패키지의 정적(static) 멤버 또한 import가 가능하다.(static import를 사용할 수 있음)

한 패키지에서 여러개의 클래스를 import 한다면 '*'를 사용하여 import 할 수 있다.

다른 패키지의 것을 참조 할 때 구문이 길어지는 것을 막을 수 있어서 유용하다.

Phone클래스에서 참조하기 위한 관련 클래스들을 모아두는 what이라는 패키지를 생성하여

Whatis라는 클래스를 생성한 후 다른 패키지에서도 사용 가능 하도록 public 접근 지시자로 멤버 변수와 static 메서드를 선언하였다.

 

what 패키지에서 전체를 불러오는 방식과 static 멤버 하나만 불러오는 방식을 둘 다 보여주었다( 실제로는 이렇게 하면 안됨)

이렇게 import 키워드를 사용하여 다른 패키지에 있는 클래스나 인터페이스 등을 가져와 사용할 수 있다.

접근 제어자


접근 제어자는 클래스,메소드,인스턴스 및 클래스 변수를 선언할 때 사용된다.(interface는 public만 가능)

public > protected>default>private 순서대로 허용 범위가 넓어진다.

  클래스 내부 동일 패키지  상속받은 클래스 이외의 영역
private o x x x
default o o x x
protected o o o x
public o o o o

 

클래스 패스


클래스를 찾기 위한 경로

JVM이 프로그램을 실행할 때 , 클래스 파일을 찾는 데 클래스 패스를 사용한다.

프로그램 실행시에 소스코드를 컴파일한 바이트 코드를 java runtime이 실행하려면 이 바이트 코드 파일을 찾을 수 있어야한다. 이 때 .class 파일을 찾기 위해 classpath에 지정된 경로를 사용한다.

classpath는 .class 파일이 포함된 디렉토리와 파일을 ';'로 구분한 목록이다.

classpath 지정 시 2가지 방법이 있다.

  • CLASSPATH 환경변수 사용
  • java runtime에 -classpath 옵션 사용

CLASSPATH 환경변수

환경 변수는 운영체제에 지정하는 변수로 JVM이 동작 시 클래스 로더가 이 값을 참고해서 동작하게 되는데 CLASSPATH 환경 변수를 사용하면 실행시 마다 -classpath 옵션을 주지 않아도 되기 때문에 편리하다.

-classpath

java 명령어 실행 시 옵션으로 지정하여 컴파일 시 필요한 참조 클래스 파일들을 찾기 위해 파일 경로를 지정해 주는 옵션으로 CLASSPATH 환경변수에 등록을 해두어도 이 명령어를 사용하면 -classpath에 지정된 위치에서 먼저 파일을 찾는다 (우선순위가 더 높다)

반응형