Programming Language/Java

[JAVA] 패키지와 접근제어자

  • -

패키지 선언

  • 패키지의 물리적인 형태는 파일 시스템 폴더
  • 패키지는 클래스의 일부분, 클래스를 유일하게 만드는 식별자 역할
  • 클래스의 전체 이름은 패키지 이름 + 클래스 이름
  • 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 : 오로지 클래스 내부에서만 사용
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.