728x90

Obj. 자바의 패키지에 대해 학습.

Todo.

7-1. package 키워드

7-2. import 키워드

7-3. 클래스패스

7-4. CLASSPATH 환경변수

7-5. -classpath 옵션

7-6. 접근 지시자


7-1. package 키워드

클래스를 구분 할 수 있는 폴더 개념으로, 클래스를 그룹화 하고 네임스페이스를 정의하는 역할이다.

패키지의 물리적인 형태는 "파일 시스템의 폴더"이다. 패키지 이름을 java로 시작하면 안된다.

 

모든 클래스에는 정의된 클래스 이름과 패키지 이름이 있다. 이 둘을 합쳐야 완전하게 한 클래스를 표현할 수 있으며  FQCN(Fully Qualified Class Name)이라고 한다. 예를 들어 String 클래스의 패키지는 "java.lang" 이고 FQCN 은 "java.lang.String"이 된다.

 

패키지 이름 지정 규칙(필수는 아니다)

패키지 시작 이름 java javax org com
내용 자바 기본 자바 확장 오픈소스 회사

또한 이름은 모두 소문자로 해야하며, 자바의 예약어를 사용하면 안된다.

 

빌트-인 패키지는 자바가 기본으로 제공해주므로 따로 Import를 하지 않아도 자바가 알아서 불러온다.

예로 "java.lang", "java.util" 등이 있다.

 

7-2. import 키워드

import는 다른 패키지에 있는 클래스나 인터페이스 등을 참조할 때 사용한다. 이때 규칙은 FQCN을 따라야 한다.

만약 한 패키지의 여러 클래스를 import하면 "*"를 사용한다. 

보통 IntelliJ에서는 alt + enter를 입력하면 import가 된다.

Static Import를 사용하면 메소드나 변수를 패키지, 클래스명 없이 접근가능하게 해준다. 이는 JUnit을 사용할 때 편함.

이때도 alt+enter 를 누르면 Add on-demend static import 라고 추천 해준다.

7-3. 클래스패스

JVM이나 Java 컴파일러가 사용하는 파라미터 이다. 즉 자바가 클래스를 찾아 사용할 때 클래스 들이 어디 있는지 지정해주는 값이다. java명령을 실행하는 위치를 의미한다. 

7-4. CLASSPATH 환경변수

일반적으로 JVM이 시작 될때 클래스 로더는 이 환경 변수를 호출 하고, 이 변수의 디렉토리에 있는 클래스를 JVM에 로드한다. 윈도우 에서는 환경 변수 설정에서 하면 된다.

7-5. -classpath 옵션

일반적으로는 환경 변수에 등록되어 있는 디렉토리의 클래스를 실행 시키는데 이 디렉토리를 벗어나면 -cp(classpath)옵션을 사용해서 사용하면 실행 및 컴파일이 가능하다.

7-6. 접근 지시자

접근 지시자는 클래스, 메소드 ,인스턴스 및 클래스 변수를 선언할때 사용된다. 자바에서는 public, protected, private, default 가 있다.

public 어디서든 접근이 가능하며, private는 클래스 내부에서만 접근이 가능하다. protected는 동일 패키지와 상속받은 클래스에선 접근이 가능하며, default(명시하지 않음)것은 클래스 내부와 동일 패키지에서만 접근이 가능하다.

 

Reference

docs.oracle.com/javase/tutorial/java/package/packages.html
www.notion.so/ed8e346f88f54849a06ff968b1877ca5

kils-log-of-develop.tistory.com/430

blog.baesangwoo.dev/posts/java-livestudy-7week/#%ED%81%B4%EB%9E%98%EC%8A%A4%ED%8C%A8%EC%8A%A4classpath

728x90

'Java > [Whiteship]자바스터디' 카테고리의 다른 글

9주차 과제 : 예외  (0) 2021.01.21
8주차 과제 : 인터페이스  (0) 2021.01.19
6주차 과제 : 상속  (0) 2021.01.17
5주차 과제 : 클래스  (0) 2021.01.09
4주차 과제 : 제어문  (0) 2021.01.09

+ Recent posts