패키지 (package)
서로 관련된 클래스의 묶음이다.
같은 이름의 클래스 일지라도 서로 다른 패키지에 존재하면 충돌이 안일어난다.
클래스의 실제 이름(full name)은 패키지를 포함한다.(java.lang.String)
패키지 선언
패키지는 소스파일의 첫 번째 문장으로 단 한번 선언 => packge 패키지명;
같은 소스파일의 클래스들은 모두 같은 패키지에 속하게 된다.
패키지 선언이 없으면 이름없는 (unnamed)패키지에 속하게 된다. (default package)
*bin폴더 - 컴파일된 클래스 파일(*.class)이 있는 곳
*src폴더 - 소스파일(*.java)이 있는 곳
클래스 패스 (classpath)
클래스 파일(*.class)의 위치를 알려주는 경로 (path)
환경변수 classpath로 관리하며, 경로간의 구분자는 ';'를 사용
classpath(환경변수)에 패키지의 루트를 등록하는 방법
제어판 > 검색창에 환경변수 검색 > 시스템 환경변수 편집 > 시스템 속성 > 고급 > 환경변수 > 새로만들기 > classpath > 패키지 주소를 복사하여 붙여넣기!
> 위 내용은 이클립스가 자동으로 해주기 때문에 읽어보기만 하자
import문
클래스 사용할 때 패키지 이름을 생략할 수 있다. (ctrl + shift + o (import문 자동 단축키 자주쓰인다.) )
java.lang 패키지의 클래스는 import하지 않고도 사용할 수 있다. (String, Object , System, Thread .....)
import문 선언
import 패키지명.클래스명; 또는 import 패키지명.* ; (*은 모든 클래스)
import문은 패키지문과 클래스 선언의 사이에 위치 (패키지 선언, import문 , 클래스 정의 순으로)
import 문은 컴파일 시 처리되므로 프로그램의 성능에 영향 X
이름이 같은 클래스가 속한 두 패키지를 import할 때 클래스 앞에 패키지명을 붙여줘야 한다.
import java.util.* ;
import java.text.*;
이 두개를 import java.*; 이렇게 사용 불가! import java.*; 은 java 패키지의 모든 클래스 (패키지는 포함 X )
static import 문
- static멤버 사용할 때 클래스 이름을 생략할 수 있게 해준다.
import static java.lang.Integer.*; // Integer클래스의 모든 static 메서드
import static java.lang.Math.random; // Math.random()만 괄호 안붙임
import static java.lang.System.out; // System.out을 out만으로 참조가능
System.out.println(Math.random()); ========> out.println(random()); //static import문으로 클래스 이름 생략함
static import 문은 꼭 필요할 때만 사용!
'Java' 카테고리의 다른 글
자바의 정석 ( 객체지향개념 / 캡슐화 ) (0) | 2023.03.22 |
---|---|
자바의 정석 ( 접근 제어자 / public / protected / default / private ) (0) | 2023.03.21 |
자바의 정석 (super / super() ) (0) | 2023.03.19 |
자바의 정석 ( 단일 상속 / Object 클래스 ) (0) | 2023.03.18 |
자바의 정석 ( 오버로딩과 오버라이딩 헷갈리지 말자! ) (0) | 2023.03.17 |