[Java] 7. 객체지향 프로그래밍 2 #3 package와 import

2022. 5. 3. 09:26JAVA/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의 정석, 남궁 성 지음