패키지란?
: 자바언어에서 제공되는 여러 클래스 또는 인터페이스들의 특성을 고려하여 분류해 놓은 것
패키지 사용 시 장점
- 클래스의 이름이나 메소드 이름이 같으면 충돌이 발생하는데 패키지 단위로 구분해놓으면 충돌을 방지할 수 있다.
- 패키지 단위로 클래스, 메소드, 변수 등의 접근을 제한할 수 있다.
- 동일한 특성과 성격을 기준으로 클래스들을 분류하면 클래스의 사용과 관리가 용이하다.
패키지 사용방법
패키지 선언
package OOP.com.info.dept;
-> 클래스나 인터페이스의 첫 번째 줄에 package 키워드를 사용해 해당 파일이 어떤 패키지에 속하는지 선언한다.
패키지 임포트
import java.util.ArrayList;
import java.util.*; // 패키지 내의 모든 클래스 import
-> 다른 패키지에 있는 클래스를 사용하려면 import 키워드를 사용하여 패키지를 임포트한다.
패키지 사용 예
package OOP.com.info.dept;
public class TestA {
public void dispMessage() {
System.out.println("패키지 : "+"com.info.dept");
System.out.println("클래스 : "+"TestA");
}
}
package OOP.com.info.dept;
public class TestB {
public void dispMessage() {
System.out.println("패키지 : "+"com.info.dept");
System.out.println("클래스 : "+"TestB");
}
}
package OOP.com.info.dept;
public class TestMain {
public static void main(String[] args) {
TestA ta = new TestA();
ta.dispMessage();
System.out.println();
TestB tb = new TestB();
tb.dispMessage();
}
}
-> 이렇게 같은 패키지에 있으면 별도의 import 문 없이 서로 자유롭게 접근할 수 있다.
접근 제어자와 패키지 접근
접근 제어자에 따라 클래스와 그 멤버에 대한 접근 범위가 결정된다.
- public : 모든 패키지에서 접근 가능
- protected : 같은 패키지 + 상속받은 클래스에서 접근 가능
- default(접근 제어자를 명시하지 않은 경우) : 같은 패키지 내에서만 접근 가능
- private : 해당 클래스 내부에서만 접근 가능
시스템 패키지
java로 시작하는 패키지는 자바 프로그램 작성에 필요한 기본적인 클래스들이 분류되어 있다.
javax 로 시작하는 패키지는 확장 패키지로서 GUI 프로그래밍에 필요한 Swing 클래스들을 제공하고 있다.
java.applet : 애플릿 클래스
java.awt : GUI AWT 클래스
java.awt.color : 색상 클래스
java.awt.event : AWT 이벤트 관련 클래스
java.awt.image : 이미지 관련 클래스
java.io : 입출력 관련 클래스
java.lang : 기본 데이터형 및 기본 클래스
java.math : 수학의 함수 관련 클래스
java.net : 네트워크 관련 클래스
java.rmi : 원격 호출 관련 클래스
java.security : 보안 관련 클래스
java.sql : 데이터베이스 관련 클래스
java.text : 텍스트 관련 클래스
java.util : 날짜, 캘린더, 시간, Vector 등의 클래스
'JAVA > 기초공부' 카테고리의 다른 글
[JAVA] 접근 제한자 (11) | 2024.10.03 |
---|---|
[JAVA] 메소드 오버라이딩 (0) | 2024.10.01 |
[JAVA] String 클래스 (1) | 2024.09.29 |
[JAVA] this와 this() 메소드 (0) | 2024.09.28 |
[JAVA] 생성자와 생성자 중복 (5) | 2024.09.28 |