소스 파일 구성 순서

1. package문

2. import 문

3. 클래스 선언

 

소스파일 구성 예시

package hyde.academy;   // package문
import java.util.Date;   // import 문
public class ImportTest {   // 클래스 선언
   public static void main(String[ ] args) {
   }
}

 

 

package

✔패키지란?

∘ 서로 관련된 클래스 혹은 인터페이스의 묶음으로 패키지는 폴더와 비슷
∘ 패키지는 서브 패키지를 가질 수 있으며, ' . '으로 구분

ex) Scanner 클래스의 full name은 패키지명이 포함된 java.util.Scanner 이다.

 

✔패키지 선언

∘ 소스파일 첫 번째 문장에 단 한번 선언하며
하나의 소스파일에 둘 이상의 클래스가 포함된 경우, 모두 같은 패키지에 속함
∘ 모든 클래스는 하나의 패키지에 속하며
패키지가 선언되지 않은 클래스는 자동적으로 이름없는 패키지(default)에 속하게 됨

ex) package java.util;

 

 

import

✔ import란?

∘ 사용할 클래스가 속한 패키지를 지정하는데 사용
∘ import문을 사용하면 클래스를 사용할 때 패키지 명 생략 가능
∘ java.lang 패키지의 클래스는 import하지 않고도 사용 가능   //java.lang 패키지 내의 클래스 > String, Object, System...

 

import문의 선언

 import문은 패키지문과 클래스 선언의 사이에 선언함
∘ 지정된 패키지에 포함된 클래스는 import 가능하지만 서브 패키지에 속한 모든 클래스까지는 불가능

 

ex) import java.util.Scanner;

import java.util.*;

import java.*;

 

✔ import문 주의사항

이름이 같은 클래스가 속한 두 패키지를 import할 때는 클래스 앞에 패키지 명을 붙여 구분해 주어야 한다.

 

package hyde.academy;

import java.sql.Date;

public class ImportTest {

   public static void main (String[ ] args) {

      java.util.Date today = new java.util.Date ( );

   }

}

 

✔ import 예시문 ImportExam

package pkg01;

import java.util.Arrays;
import java.util.Random;

public class ImportExam {
	//java.lang 숫자
	public double piExam() {
		double d=Math.PI;
		return d;
	}
	//java.util Random class 랜덤
	public int randomExam(int ran) {
		Random r = new Random();
		int i =r.nextInt(ran);
		return i;
	}
	//java.util Arrays class sort 크기 정렬 메소드 
	public String sortExame() {
		int[] arr = {1,8,3,5,7,0};
		Arrays.sort(arr);
		return Arrays.toString(arr);
	}
	
}

✔ import 실행문 Run 

package pkg02;

import pkg01.ImportExam;

public class Run {
	public static void main(String[] args) {

	ImportExam ie = new ImportExam();
	System.out.println(ie.piExam());
	
	System.out.println(ie.randimExam(10));
	System.out.println(ie.sortExame());
   }
}

 

'Language > Java' 카테고리의 다른 글

Class - 생성자 (Constructor)  (0) 2022.01.03
Class - 필드(변수)  (0) 2022.01.03
클래스, 객체, 인스턴스 개념  (0) 2022.01.02
배열 복사  (0) 2021.12.29
2차 배열  (0) 2021.12.24