hyeonga_code

Java의 신_Chapter 09_Package 본문

Java

Java의 신_Chapter 09_Package

hyeonga 2024. 3. 28. 06:59
반응형

 

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