패키지
클래스를 체계적으로 관리하기 위해 사용
폴더를 만들어 파일을 저장 관리 처럼, 물리적이 형태 파일 시스템의 폴더
단순히 파일 시스템의 폴더 기능만 하느 것이 아님
-> 클래스를 유일하게 만들어주는 식별자 역할
-> 클래스 이름이 동일, 패키지 이름 다름 => 다른 클래스로 인식
클래스 전체이름은 '패키지명+클래스명'
상위패키지.하위패키.클래스
-> 클래스를 이동할 경우에는 패키지 전체를 이동
패키지 선언
클래스 컴파일 하는 과정에서 자동적으로 생성되는 폴더
파일 시스템의 폴더로 자동 생성
package 상위패키지.하위패키지;
public class ClassName{...}
패키지 명명 규칙
- 숫자로 시작해서는 안 되고 _ $ 를 제외한 특수 문자를 사용 해서는 안된다 .
- java로 시작하는 패키지는 자바 표준 API에서만 사용하므로 사용해서는 안된다
- 모두 소문자로 작성하는 것이 관례
-> 여러 회사가 참여하는 대규모 프로젝트나, 다른 회사의 패키지를 이용해서 개발할 경우 패키지 이름이 중복될 가능성이 있음
-> 회사들간에 패키지가 서로 중복되 안혿록 흔히 회사의 도메인이름으로 패키지를 만든다
-> 도메인은 등록 기관에서 유일한 이름이 되도록 검증 되었기 때문에 도메인 이름으로 패키지를 만들면 다른회사의 패키지와 중복되는 경우가 발생하지 않는다
-> 도메인 이름 역순으로 패키지 생성
-> 포괄적인 이름이 상위 패키지가 되도록 하기 위해
-> 마지막에는 프로젝트 이름을 붙여주는 것이 관례
패키지 선언이 포함된 클래스 컴파일
패키지 선언이 포함된 클래스를 명령 프롬프트에서 컴파일 할 경우
java ClassName.java 로 컴파일해서는 패키지 폴더가 생성되지 안흔ㄴ다
패키지 폴더가 자동으로 생성되려면 javac 명령어 다음에 -d 추가
패키지가 생성될 경로 지정
java -d . ClassName.java -> 현재 폴더 내에 생성
패키지에 소속된 클래스를 명령 프롬프트에 실행하려면 바이트 코드 파일이 있는 폴더에서 java 명령어를 사용 안됨
패키지는 클래스의 일부분이므로 패키지가 시작하는 폴더에서 java 명령어를 사용
이클립스에서 패키지 생성과 클래스 생성
이클립스에서는 패키지만 따로 생성할 수있고, 클래스를 생성할 때 동시에 생성 시킬 수도 있다.
패키지를 먼저 생성 -> 해당 패키지 클래스 생성 방법 많이 사용
이클립스는 패키지 선언이 없는 클래스를 default 패키지 포함
import문
다른 패키지에 속하는 클래스를 사용
1. 패키지와 클래스를 모두 기술
2. import 문을 주로 사용
import문이 작성되는 위치는 패키지 선언과 클래스 선언 사이
*import 문으로 지정된 패키지의 하위 패키지는 import 대상이 아니다.
* 패키지 이름 전체를 기술하는 경우
- 서로 다른 패키지에 동일한 클래스 이름이 존재하고, 두 패키지 모두 import 되어 있을 경우
패키지 자동 추가 : Source -> Oraganize imports (단축키 : crtl + shift + o)
import 패키지.클래스; 로 추가
'Back-end > 이것이 자바다[신용권 한빛미디어]' 카테고리의 다른 글
Getter 와 Setter 메소드 (0) | 2021.10.03 |
---|---|
접근제한자 (0) | 2021.10.03 |
OOP(객체지향 프로그래밍 ) (0) | 2021.09.19 |
try-catch-finally (0) | 2021.08.18 |
열거 타입 (0) | 2021.07.25 |