패키지 선언
- 패키지의 물리적인 형태는 파일 시스템 폴더
- 패키지는 클래스의 일부분, 클래스를 유일하게 만드는 식별자 역할
- 클래스의 전체 이름은 패키지 이름 + 클래스 이름
- package 상위패키지.하위패키지;
패키지 이름 작성 규칙
- 숫자로 시작해선 안되고 _, $를 제외한 특수 문자를 사용해서는 안된다
- java로 시작하는 패키지는 자바 표준API에서만 사용하므로 사용해서는 안된다
- 모두 소문자로 작성하는것이 관례
import 문
- 사용하고자 하는 클래스 또는 인터페이스가 다른 패키지에 소속되어 있을 때 사용
- import 상위패키지.하위패키지.클래스이름;
- import 상위패키지.하위패키지.*;
접근제한자
- 클래스 및 인터페이스 그리고 이들이 가진 멤버의 접근을 제한
- public : 외부 클래스가 자유롭게 사용할 수 있도록 함
- protected : 같은 패키지 또는 자식 클래스에서 사용할 수 있도록 함
- private : 외부에서 사용할 수 없음
- default : 같은 패키지에 소속된 클래스에서만 사용 (기본값)
- public > protected > default > private
클래스의 접근 제한
- 클래스는 public, default 접근 제한을 가진다
public 접근 제한
- 같은 패키지뿐만 아니라 다른 패키지에서도 아무런 제한 없이 사용할 수 있음
- 라이브러리 클래스로 개발할 때 public 접근 제한자를 사용해야 함
생성자의 접근 제한
- 생성자는 public, protected, default, private 접근 제한을 가진다
- public : 모든 패키지에서 아무런 제한 없이 생성자 호출
- protected : 같은 패키지에 속하는 클래스 또는 다른 패키지의 자식 클래스
- default : 다른 패키지에서 생성자를 호출할 수 없음
- private : 생성자를 호출하지 못하게 함
필드와 메소드의 접근 제한
- 필드와 메소드는 public, protected, default, private 접근 제한을 가진다
- public : 모든 패키지에서 아무런 제한 없이 필드와 메소드 사용
- protected : 같은 패키지에 속하는 클래스 또는 다른 패키지의 자식 클래스
- default : 동일한 패키지에서 제한 없이 사용
- private : 오로지 클래스 내부에서만 사용
'Programming Language > Java' 카테고리의 다른 글
[Java] 자바에서 GitHub REST API 사용하기 (0) | 2023.08.21 |
---|---|
[Java] Github API 사용하기 (0) | 2023.08.20 |
[JAVA] 소켓 프로그래밍, TCP 소켓 프로그래밍 (0) | 2023.07.19 |
[JAVA] 네트워킹 이해하기 & InetAddress (0) | 2023.07.18 |
[JAVA] 인터페이스(interface) (0) | 2023.04.11 |