반응형
Recent Posts
Recent Comments
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

Bbaktaeho

[Java] 접근 제어자 비교 (access modifier, public, protected, default, private) 본문

프로그래밍 (Programming)/자바 (Java)

[Java] 접근 제어자 비교 (access modifier, public, protected, default, private)

Bbaktaeho 2020. 9. 12. 23:57
반응형

접근 제어자란?


어떠한 클래스나 변수, 메서드 등에서 사용하며, 사용된 것들에게 접근 권한을 설정해주는 역할을 합니다.

접근 제한자의 목적은 보통 특정 데이터로의 직접적인 접근을 막거나, 허용하면서 특정 데이터의 접근을 조절하기 위해서 사용됩니다.

자바의 접근 제어자


public

  • 클래스, 필드, 메서드에서 모두 사용 가능한 접근자입니다.
  • 동일한 패키지, 다른 패키지에서 접근이 가능합니다. 

protected

  • 클래스에서 사용이 불가능하고 클래스 내부에서만 사용할 수 있습니다.
  • 같은 패키지에서만 접근이 가능하고 다른 패키지에서는 접근이 불가능합니다.
  • 예외로 상속 관계일 때는 패키지 관계없이 접근이 가능합니다.

default

  • 접근 제어자를 생략했을 때 default로 선언됩니다.
  • 동일한 패키지에서 접근이 가능하지만 다른 패키지에서는 불가능합니다.

private

  • 클래스에서 사용이 불가능하고 클래스 내부에서만 사용할 수 있습니다.
  • 동일한 패키지, 다른 패키지에서 모두 접근이 불가능합니다.
  • 동일한 클래스 내에서 접근이 가능합니다.

접근 제어자 비교


접근 비교

키워드 동일한 클래스 동일한 패키지 상속 관계 다른 패키지
public O O O O
protected O O O X
default O O X X
private O X X X

사용 비교

키워드 클래스 클래스 내부(필드, 메서드)
public O O
protected X O
default O O
private X O

 

반응형