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
'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 |