패키지(package)
- 서로 관련된 클래스의 묶음 (Java8 기준 약 4000개 클래스)
- 클래스는 클래스 파일(*.class), 패키지는 폴더, 하위 패키지는 하위 폴더
- 클래스의 실제 이름(full name)은 패키지를 포함(java.lang.String)
- rt.jar는 클래스들을 압축한 파일 (rt = runtime)
패키지의 선언
- 패키지는 소스파일의 첫번째 문장으로 단 한번 선언
- 같은 소스 파일의 클래스들은 모두 같은 패키지에 속하게 된다
- 패키지 선언이 없으면 이름없는(unnamed) 패키지에 속하게 된다
클래스 패스(classpath)
- 클래스 파일(*.class)의 위치를 알려주는 경로 (path)
- 환경변수 classpath로 관리하며, 경로간의 구분자는 ';'를 사용
- classpath(환경변수)에 패키지의 루트를 등록해줘야 함
import문
- 클래스를 사용할 때 패키지 이름을 생략할 수 있다.
- 컴파일러에게 클래스가 속한 패키지를 알려준다
- java.lang(자바의 기본패키지)의 클래스는 Import하지 않고도 사용할 수 있다.
- String, Object, System, Thread ...
import문의 선언
- import문을 선언하는 방법
- import 패키지명.클래스명;
- import 패키지명.*;
- imprt문은 패키지문과 클래스 선언 사이에 선언
- 이름이 같은 클래스가 속한 두 패키지를 import할 때는 클래스 앞에 패키지 명을 붙여줘야 한다
static import문
- static 멤버를 사용할 때 클래스 이름을 생략할 수 있게 해준다
제어자(modifier)
- 클래스와 클래스의 멤버(멤버 변수, 메서드)에 부가적인 의미 부여
- 접근 제어자 public, protected, (default), private
- 그 외: static, final, abstract, native, transient, synchronized, volatiled, strictfp
- 하나의 대상에 여러 제어자를 같이 사용 가능(접근제어자는 하나만)
static -클래스의, 공통적인
final - 마지막의, 변경될 수 없는
- 부모가 될 수 없는 마지막 클래스 final
abstract - 추상의, 미완성의
- 미완성 설계도 -> 제품생산불가
- 추상클래스를 상속받아서 완전한 클래스로 만들고 객체 생성가능
'Java > 자바의 정석' 카테고리의 다른 글
남궁성 자바의 정석 기초편 ch 7 instance of 연산자 매개변수다형성 배열 (0) | 2022.11.30 |
---|---|
남궁성 자바의 정석 기초편 ch 7 접근 제어자 캡슐화 다형성 참조변수의 형변환 (0) | 2022.11.26 |
남궁성 자바의 정석 기초편 ch 7 상속 (0) | 2022.11.26 |
남궁성 자바의 정석 기초편 ch 6 오버로딩 생성자 초기화 (0) | 2022.11.22 |
남궁성 자바의 정석 기초편 ch 6 return문 호출스택 매개변수 static 메서드 인스턴스 메서드 (0) | 2022.11.21 |