모듈 / 패키지 / 클래스
패키지
: 서로 관련 있는 클래스나 인터페이스의 컴파일된 클래스 파일들을 한 곳에 묶어 놓은 것
하나의 패키지는 관련된 클래스 파일들이 들어 있는 디렉토리(폴더)
모듈
: 패키지들을 묶은 것 / 패키지들을 담는 컨테이너
자바에서는 100개에 가까운 모듈 제공
모듈 파일(.jmod)로 저장
자바 컴포넌트들을 필요에 따라 조립하기 위함
java. base 모듈 안에 io , lang, util 등의 패키지들 안에 Scanner 등 클래스들
java.util.Scanner
//패키지명//
// 클래스명(경로) //
//클래스 지칭 시 모듈명은 사용하지 않음
어떤 패키지의 클래스 사용
1번
패키지명을 포함하는 경로 작성하기
java.패키지명.클래스명
java.util.Scanner
2번
import문 이용하기
import 패키지.클래스;
import java.util.Scanner;
//Scanner로 사용
3번
import문 이용하기 2
*을 이용
패키지의 모든 클래스 이용 가능
import 패키지.*;
import java.util.*;
//Scanner로 사용
//util 패키지 다른 클래스 사용 가능!
패키지 만들기
클래스 파일은 반드시 패키지에 소속되어야 함
클래스가 소속될 패키지는
package 패키지명;
디폴트 패키지
package 선언문을 작성하지 않고 자바 클래스나 인터페이스 작성 시 컴파일러는 이를 디폴트 패키지에 소속시킴
디폴트 패키지 == 현재 디렉터리
패키지 특징
- 패키지 계층구조
- 패키지별 접근제한(접근제한자)
- 동일한 이름의 클래스 다른 패키지에 작성 가능
- 소프트웨어의 높은 재사용성
자바 구조
<주요 패키지>
java.lang
기본적인 클래스와 인터페이스.
import 없이 자동제공
java.util
날짜, 시간, 벡터, 해시맵 등
java.io
입출력
'💾 Backend > 자바' 카테고리의 다른 글
💖자바 람다식💖 (0) | 2023.06.27 |
---|---|
💞Static 정적 멤버💞 (0) | 2023.06.10 |
💖자바 내부 클래스💖 (1) | 2023.06.02 |
💖자바 스트림💖 (1) | 2023.06.02 |
💕자바 탐구 - 배틀게임 제작💕 (2) | 2023.05.28 |