패키지
클래스를 기능별로 묶어서 그룹 이름을 붙여 놓은 것을 말한다.
파일들을 관리한기 위해 사용하는 폴더와 비슷한 개념이다.
패키지의 물리적인 형태는 파일 시스템의 폴더이다.
패키지는 클래스 이름의 일부이다.
전체 클래스 이름 = 상위패키지.하위패키지.클래스
클래스명이 같아도 패키지명이 다르면 다른 클래스로 취급한다.
클래스를 선언할 때 패키지가 결정된다.
클래스를 선언할 때 포함될 패키지를 선언해야 한다.
클래스 파일은(~.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를 동시에 누른다.
'프로그래밍 언어 > 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 |