● Package란?
: 자바 클래스들을 여러 이름공간으로 정리한 것이며, 동일한 패키지 내의 클래스들은 서로의 멤버들에 접근할 수 있습니다.
예 ) 아마도 폴더를 이용해서 파일들을 정리해보셨을겁니다.
이런 파일들을 뒤죽박죽 섞여있을때 성격에 맞게 분류한다음 새폴더에 저장시키는 방식입니다.
자바의 패키지(package)도 이런방식과 동일한 개념으로, 비슷한 성격의 자바클래스들을 모아 넣는 자바의 디렉토리입니다.
우선, 패키지를 만들어주기위해 이클립스에서 src디렉토리에 마우스 우클릭을 해줍니다.
New -> Package 를 클릭해줍니다.
위와같은 창이뜨면 package명을 입력해줘야하는데 저는 testPackage라고 입력하고 Finish를 눌러줍니다.
다음으로, testPackage2를 처음과 동일한 방식으로 패키지를 하나더 만들어줍니다.
그리고 패키지에 우클릭하고 New -> Class 를 클릭해서 클래스명을 패키지별로 각각 위사진처럼 만들어줍니다.
위 와같이 TestClass에서 소스를 입력해줍니다.
아래 MainClass에서 사용하기위해 test메소드를 하나 만들어놓았습니다.
이제 MainClass에서 위와같이 기존에 TestClass에서 만들어놓은 test()메소드를 호출하기위해
TestClass의 객체를 생성해줍니다. 생성과 동시에 위에 3번줄처럼 import가 자동생성됩니다.
만약 안되었다면 ctrl+shift+o (단축키)를 눌러주시면 자동생성이 됩니다.
이처럼, 우리가 지금껏 import를 한것 역시 지금처럼 이미 있는 기능들을 가지고 와서 사용하기 때문에
import를 이용해서 기능들을 사용할수있었습니다.
하지만, 같은 패키지 안에 있는 class는 import없이 사용 가능합니다.
'Programming Language > JAVA' 카테고리의 다른 글
[JAVA] 쓰레드(thread)와 프로세스(process),멀티쓰레드, 멀티프로세싱, 데몬쓰레드(Daemon),동기화(Synchronized) (0) | 2019.07.25 |
---|---|
[JAVA] 예외(exceptional event) 강제예외,예외전가,예외처리 try-catch, finally (0) | 2019.07.24 |
[JAVA] 상속( inheritance ) (0) | 2019.07.23 |
[JAVA] 생성자(Constructor) (0) | 2019.07.22 |
[JAVA] Sleep클래스 , Process클래스 (0) | 2019.07.20 |
[JAVA] Time(현재 시간 얻기), Date (0) | 2019.07.19 |
[JAVA] This포인터와 정보은닉 & 캡슐화 (2) | 2019.07.18 |
[JAVA] 변수종류 ( 지역변수, 전역변수, 클래스변수, 인스턴스변수 ) (0) | 2019.07.17 |