자바[JAVA] 접근 제한자(Access Modifier)

turtleJ·2022년 5월 13일
0

언어

목록 보기
10/11

접근 제한자(Access Modifier)

접근 제한자 혹은 접근 제어자라고도 불리는데 클래스(Class), 필드(Field), 생성자(Constructor), 메소드(Method)에 대한 접근이 어느 정도까지 허용되는지를 규정하는 것이다.

접근 제한자 사용

  • 클래스 : public, default

  • 생성자 : public, protected, default, private

  • 멤버변수 : public, protected, default, private

  • 멤버메소드 : public, protected, default, private

  • 지역변수 : 접근제한자 사용 불허

접근 제한자의 종류

  • public : 접근 제한이 없다.
  • protected : 같은 패키지 내, 다른 패키지의 자손클래스에서 접근 가능.
  • default : 같은 패키지 내에서만 접근 가능
  • private : 같은 클래스 내에서만 접근 가능

(참고) default 접근 제한자는 생략할 수 있다.

접근 범위에 따른 관계

public > protected > default > private

public이 가장 접근 범위가 넓으며 private이 가장 범위가 좁다.

Interface를 구현하거나 abstract클래스 상속할 때, 오버라이딩 하는 과정에서 이 관계를 고려하여 클래스를 생성하여야 한다.

이는 상속(Inheritance)에 대해 포스팅할 때 예를 통해 설명하도록 하겠다.

다음 포스팅은 이 접근 제한자를 활용하여 객체지향의 4대 특성 중 하나인 캡슐화(Encapsulation)에 대해 알아보겠다.

profile
꾸준함을 무기로 성장하는 개발자가 되겠습니다.

0개의 댓글