패키지 ( Package )
정의
1. 서로 관련된 클래스와 인터페이스의 묶음
2. 클래스가 물리적으로 클래스파일 ( *.class ) 인 것처럼 , 패키지는 물리적으로 폴더이다 패키지는 서브패키지를 가질 수 있으며, ‘,’으로 구분한다
3. 클래스의 실제 이름 (full name)은 패키지명이 포함된 것이다.
(String 클래스의 full name은 java.lang.String 이다 )
4. Rt.jar는 java API의 기본 클래스들을 압축한 파일이다.
(JDK 설치경로 \jre\lib에 위치한다)
설명서
패키지는 한마디로 클래스의 묶음입니다.
서로 관련된 클래스를 그룹지어 놓는 것이지요.
우리가 폴더를 만들어놓고 그 안에 관련된 파일을 모아 놓는 것처럼요...
java소스파일을 컴파일하면... 클래스파일이 생기잖아요. 패키지는 폴더가 생성됩니다.
그리고 폴더 안에 폴더를 생성할 수 있는 것처럼 패키지안에 서브패키지를 생성할 수 있습니다.
파일의 실제 이름이 경로를 포함한 이름인 것 처럼...
클래스의 실제 이름은 패키지명이 포함된 것입니다.
예를들어 String클래스의 실제 이름은 java.lang.String입니다.
java라는 패키지의 서브패키지인 lang패키지에 속한 String클래스라는 것이죠.
JDK를 설치한 폴더의 jre폴더아래 lib폴더를 보시면... rt.jar라는 파일이 있는데...
rt는 runtime의 약자이고요. JVM의 실행에 필요한 클래스들을 모아놓은 것입니다.
jar파일은 자바에서 사용하는 압축파일인데... zip파일과 압축방식이 같아서
알집이나 winzip으로 압축을 풀 수 있습니다.
위의 그림은 rt.jar파일의 압축을 푼 것인데요...
java폴더 아래 lang이라는 폴더가 있고 그 안에 String이라는 클래스파일이 있는 것을 알 수 있습니다.
System클래스파일도 있고요...
패키지는 관련된 클래스의 묶음이라는 것과 패키지와 클래스파일은 폴더와 파일의 관계다...라는 것...
어렵지 않게 이해하셨을 겁니다.
'Backend > java' 카테고리의 다른 글
클래스 패스 설정하기 (0) | 2018.08.12 |
---|---|
패키지의 선언 (0) | 2018.08.12 |
Super의 메서드사용 (0) | 2018.08.09 |
Super의 정의 (0) | 2018.08.09 |
오버라이딩 Vs 오버로딩 의 차이점 (0) | 2018.08.09 |
#IT #먹방 #전자기기 #일상
#개발 #일상