hyeonga_code
Java의 신_Chapter 09_Package 본문
2024.03.27
- 패키지_Package
-- 트리 형태
-- 이름이 중복되거나 역할에 혼동을 줄이기 위함
package 패키지 폴더 구조;
---- 코드의 첫 줄에 작성
------ 공백/주석은 가능
---- 코드 하나에 한 번만 선언
---- 패키지 이름과 파일이 위치한 폴더의 이름이 동일해야 한다.
---- 패키지 이름이 java로 시작할 수 없다.
---- 패키지의 이름은 모두 소문자로 작성
---- 예약어를 사용할 수 없다.
java
-- 자바 기본 패키지
-- Java 벤더에서 개발
javax
-- 자바 확장 패키지
-- Java 벤더에서 개발
org
-- 비영리단체 패키지
-- 오픈소스
com
-- 영리단체 패키지
-- 회사
- Import
-- 다른 패키지에 접근하기
import 패키지이름.클래스이름;
import 패키지이름.*;
// 패키지에 있는 모든 클래스중 사용하는 클래스에 접근
import static 패키지이름.클래스이름.클래스변수이름;
// static으로 선언된 클래스 변수를 클래스 이름을 지정하지 않고 호출
import static 패키지이름.클래스이름.static메소드이름;
// static으로 선언된 메소드를 클래스 이름을 지정하지 않고 호출
import static 패키지이름.클래스이름.*;
// static으로 선언된 클래스 변수와 메소드를 클래스 이름을 지정하지 않고 호출
/*
Q1. 패키지 클래스에 import 한 동일한 이름의 클래스 변수나 static 메소드가 존재하는 경우
> 자신의 클래스에 있는 클래스 변수나 static 메소드가 우선시 된다.
*/
- 접근제어자_Access Modifier
-- 클래스, 메소드, 인스턴스 변수, 클래스 변수를 선언할 때 사용
-- public
---- 누구나 접근 가능
-- protected
---- 같은 패키지 내에 있거나 상속받은 경우 접근 가능
-- package-private
---- 접근 제어자를 작성하지 않은 경우 자동으로 설정
---- 같은 패키지 내에 있을 때만 접근 가능
-- private
---- 해당 클래스 내에서만 접근 가능
public
ㄴprotected
ㄴpackage-private
ㄴprivate
1. 패키지를 선언할 때 package
2. 패키지 선언은 클래스 소스 중 맨 위에 위치해야 한다.
3. 패키지를 선언할 대 가장 상위 패키지의 이름으로 절대 사용하면 안되는 단어는 java
4. 패키지 이름에 예약어가 포함되면 안된다.
5.import는 클래스 내에 선언할 수 없다.
6. 같은 패키지에 있는 클래스를 사용할 때에는 import를 사용하지 않아도 된다.
7. 특정 패키지에 있는 클래스들을 모두 import할 때에는 *를 사용한다.
8. 클래스에 선언되어 있는 static한 메소드나 변수를 import하려면 import static
9. 접근 제어자 중 가장 접근 권한이 넓은 것은 public
10. 접근 제어자 중 가장 접근 권한이 좁은 것은 private
11. 접근 제어자 중 같은 패키지와 상속관계에 있는 클래스만 접근할 수 있도록 제한하는 것은 protected
12. Calculate.java라는 자바 소스가 있을 경우, 그 소스 내에는 Calculate라는 클래스 외에는 public으로 선언된 클래스가 있으면 안된다.
'Java' 카테고리의 다른 글
Java의 신_Chapter 11_API (0) | 2024.03.28 |
---|---|
Java의 신_Chapter 10_Inheritance (0) | 2024.03.28 |
Java의 신_Chapter 08_Reference Type (0) | 2024.03.28 |
Java의 신_Chapter 07_Array (0) | 2024.03.27 |
Java의 신_Chapter 06_Condition (0) | 2024.03.27 |