[Java] 7. 객체지향 프로그래밍 2 #3 package와 import
2022. 5. 3. 09:26ㆍJAVA/Language
1. 패키지(pakcage)
- 패키지란 클래스의 묶음
- 패키지에는 클래스 또는 인터페이스를 포함시킬 수 있음
- 패키지에는 서로 관련된 클래스끼리 그룹 단위로 묶어 놓음으로써 클래스를 효율적으로 관리할 수 있음
- 클래스의 실제 이름은 패키지명을 포함한 것
- String 클래스 : java.lang.String
- 클래스가 물리적으로 하나의 클래스파일(.class)인 것과 같이 패키지는 물리적으로 하나의 디렉토리
패키지의 규칙
- 하나의 소스파일에는 첫번째 문장으로 단 한번의 패키지 선언만을 허용함
- 모든 클래스는 반드시 하나의 패키지에 속해야함
- 패키지는 점(.)을 구분자로 하여 계층 구조로 구성
- 패키지는 물리적으로 클래스 파일(.class)을 포함하는 하나의 디렉터리
2. 패키지의 선언
package 패키지명;
패키지의 선언 예제
package ch07.ex_09_package;
public class PackageTest {
public static void main(String[] args)
{
System.out.println("Hello world!");
}
}
3. import문
- import문으로 사용하고자 하는 클래스의 패키지를 미리 명시해주면 소스코드에 사용되는 클래스이름에서 패키지명을 생략할 수 있음
4. import문의 선언
일반적인 소스파일(.java) 구성은 다음의 순서로 되어 있음
1. package문
2. import문
3. 클래스의 선언
import문 선언
import 패키지명.클래스명;
or
import 패키지명.*;
import문 예제
import java.text.SimpleDateFormat;
import java.util.Date;
public class ImportTest {
public static void main(String[] args)
{
Date today = new Date();
SimpleDateFormat date = new SimpleDateFormat("yyyy/MM/dd");
SimpleDateFormat time = new SimpleDateFormat("HH:mm:ss a");
System.out.println("오늘 날짜는 " + date.format(today));
System.out.println("현재 시간은 " + time.format(today));
}
}
- java.text.SimpleDateFormat -> SimpleDateFormat으로 사용가능함
5. static import문
static import문을 사용하여 다음과 같이 사용할 수 있습니다.
System.out.println(Math.random()); -> out.println(random());
static import문 예제
import static java.lang.System.out;
import static java.lang.Math.*;
public class StaticImportTest {
public static void main(String[] args)
{
//System.out.println(Math.random());
out.println(random());
//System.out.println("Math.PI : " + Math.PI);
out.println("Math.PI : " + PI);
}
}
References
source code : https://github.com/yonghwankim-dev/java_study
Java의 정석, 남궁 성 지음
'JAVA > Language' 카테고리의 다른 글
[Java] 7. 객체지향 프로그래밍 2 #5 다형성(polymorphism) (0) | 2022.05.06 |
---|---|
[Java] 7. 객체지향 프로그래밍 2 #4 제어자(modifier) (0) | 2022.05.05 |
[Java] 7. 객체지향 프로그래밍 2 #2 오버라이딩(overriding) (0) | 2022.05.03 |
[Java] 7. 객체지향 프로그래밍 2 #1 상속(inheritance) (0) | 2022.04.29 |
[Java] 6. 객체지향 프로그래밍 1 #5 변수의 초기화 (0) | 2022.04.29 |