TIL 35 | [Java] 접근 지정자

Yoonsik·2022년 8월 15일
0

JAVA

목록 보기
9/11

접근 지정자란 ?

접근 지정자는 클래스나 멤버들을 다른 클래스에서 접근해도 되는지 여부를 지정하는 지시어 입니다.

자바에는 다음 4가지 접근 지정자가 있습니다.

  • public
  • private
  • protected
  • 접근 지정자 생략(디폴트 접근 지정)

객체지향 언어(Java)에서 접근 지정자를 사용하는 이유

Java 에서는 객체를 캡슐화 하기 때문에 객체에 다른 객체가 접근하는 것을 허용할지, 하지 않을지 지정해야 할 필요가 있기 때문에 접근 지정자를 사용합니다.

	캡슐화 - 자바에서의 객체를 class라는 캡슐로 싸서 보호. 
    외부 접근으로부터 내부를 보호하고, 노출되어선 안되는 정보를 은닉.

클래스 접근 지정

다른 클래스에서 해당 클래스를 활용 가능한지에 대핸 허용여부를 지정합니다.

  • public 클래스

    패키지 상관없이 다른 어떤 클래스에서도 사용이 가능하다.

  • 디폴트 클래스 (접근 지정자 생략)

    같은 패키지 내의 클래스들에게만 활용을 허용한다.


멤버 접근 지정

클래스 멤버에 대한 접근 지정자로는 public, private, protected, 디폴트 가 있습니다.

공개의 범위는 private < 디폴트 < protected < public 순으로 넓어집니다.

  • private 멤버

    비공개를 지시하는 것으로, 클래스 내의 멤버틀에게만 접근이 허용됩니다.
    같은 패키지나, 상속받은 서브클래스에서도 접근이 불가합니다.

  • 디폴트 멤버

    접근지정자가 생략된 멤버로, 동일한 패키지 내에 있는 클래스들만 디폴트 멤버를 자유롭게 접근 가능합니다.

  • protected 멤버

    보호된 공개를 지시하는 것으로, 2가지 유형의 클래스에만 접근을 허용합니다.

    1) 같은 패키지의 모든 클래스에 접근이 허용된다.
    2) 다른 패키지에 있더라도 자식클래스의 경우, 접근이 허용된다.

  • public 멤버

    패키지를 막론하고 모든 클래스들이 접근 가능합니다.


profile
꾸준함의 힘

0개의 댓글