06
29
728x90

패키지

클래스를 기능별로 묶어서 그룹 이름을 붙여 놓은 것을 말한다.

파일들을 관리한기 위해 사용하는 폴더와 비슷한 개념이다.

패키지의 물리적인 형태는 파일 시스템의 폴더이다.

패키지는 클래스 이름의 일부이다.

전체 클래스 이름 = 상위패키지.하위패키지.클래스

클래스명이 같아도 패키지명이 다르면 다른 클래스로 취급한다.

클래스를 선언할 때 패키지가 결정된다.

클래스를 선언할 때 포함될 패키지를 선언해야 한다.

클래스 파일은(~.class) 선언된 패키지와 동일한 폴더안에서만 동작한다.

클래스 파일은(~.class) 다른 폴더안에 넣으면 동작하지 않는다.

 

패키지 선언

패키지 선언은 클래스 선언 첫 줄에 해야 한다.

상위 패키지와 하위 패키지는 도트(.)로 구분한다.

package 상위패키지.하위패키지;

public class ClassName { ... }

패키지 이름 규칙

1. 전부 알파벳 소문자로 작성하는 것이 관례이다.

2. 숫자로 시작해서는 안된다.

3. _, $를 제외한 특수 문자를 사용해서는 안된다.

4. 회사 도메인의 역순으로 패키지 이름을 보통 만든다.

com.samsung.projectname
com.hyndai.projectname
com.lg.projectname
org.apache.projectname

 

패키지 선언이 포함된 클래스 컴파일

명령 라인에서 컴파일 할 경우

1. javac XXX.java

   - 바이트 코드 파일(~.class)만 생성되므로 패키지별로 폴더를 직접 만들어 바이트 코드 파일을 저장하고 사용해야 한다.

2. javac -d [패키지가 생성될 위치] XXX.java

   - 패키지 폴더가 자동으로 생성된다.

 

패키지 선언이 포함된 클래스 실행

상위(루트)패키지가 시작하는 곳에서 실행해야 한다.

javac 상위패키지.하위패키지.클래스

 


import 문

패키지 내에 같이 포함된 클래스간에는 클래스 이름으로 사용이 가능

패키지가 다른 클래스를 사용해야 할 경우, 2가지 방법

1. 패키지명이 포함된 전체 클래스 이름으로 사용

2. import문으로 패키지를 지정하고 사용

import 패키지.*;  //패키지에 속해있는 모든 클래스 사용가능
import 패키지.클래스; //패키지에 있는 특정 클래스 사용

이클립스에는 개발자가 import문을 작성하지 않아도 사용된 클래스를 조사해서 필요한 import문을 자동적으로 추가하는 기능이 있다.

단축키 : Ctrl + Shift + O

기본적으로 "import 패키지.클래스;"로 추가되지만 "import 패키지.*;"로 추가되길 원한다면 다음과 같이 이클립스 설정을 변경하면 된다.

1. Window -> Preference -> Java -> Code Style -> Organize imports를 선택
2. Number of imports needed for.*의 99를 1로 변경하고 [OK] 버튼을 클릭한다.
3. 다시 한 번 Ctrl + Shift + O를 동시에 누른다.
728x90

'프로그래밍 언어 > JAVA' 카테고리의 다른 글

[JAVA] Getter와 Setter  (0) 2021.07.01
[JAVA] 접근 제한자  (0) 2021.06.30
[JAVA] final 필드와 상수(static final)  (0) 2021.06.29
[JAVA] 정적 멤버와 static  (0) 2021.06.28
[JAVA] 인스턴스 멤버와 this  (0) 2021.06.28
COMMENT