[Java]접근제어자(Access Modifier)

Dogin·2020년 12월 26일
0

접근제어자

  • 접근제어자는 멤버 또는 클래스에 사용되어 해당하는 멤버 또는 클래스를 외부에서 접근하지 못 하도록 제한하는 역할을 한다.
  • 접근제어자는 클래스, 멤버변수, 메서드, 생성자에서 사용될 수 있다.

1. 접근 제어자를 사용하는 이유

  • 접근제어자를 사용하는 이유는 클래스의 내부에 선언된 데이터를 보호하기 위해서다.
  • 데이터가 유효한 값을 유지하도록 또는 비밀번호와 같은 데이터를 외부에서 함부로 변경하지 못하도록 하기 위해서는 외부로부터의 접근을 제한하는 것이 필요하다.
  • 객체지향개념에서 이것을 캡슐화(encapsulation)라고 한다.

2. 접근제어자자의 종류

  • Java에는 4가지 접근제어자가 존재한다. private, default, protected, public
    - private : 같은 클래스 내에서만 접근 허용
    - default : 같은 패키지 내에서만 접근 허용 (접근제어자 생략 시 default로 적용)
    - protected : 같은 패키지 내에서, 다른 패키지의 자손 클래스에서 접근 허용
    - public : 접근 제한이 없다.
종류같은 클래스같은 패키지하위 클래스모든 클래스
privateOXXX
defaultOOXX
protectedOOOX
publicOOOO
  • privatedefaultprotectedpublic 순으로 많은 접근을 허용

public

  • 접근제어자가 public으로 설정되었으면 모든 클래스 접근이 가능하다. 즉, 접근 제약이 없다.

default

  • 접근제어자를 별도로 설정하지 않는다면 default접근제어자가 되고 해당 패키지에서만 접근이 가능하다.

protected

  • 접근제어자가 protected로 설정되었으면 같은 패키지내의 클래스 또는 해당 클래스를 상속받은 외부 패키지의 클래스에서 접근이 가능하다.

private

  • 접근제어자가 private로 설정되었으면 같은 클래스에서만 접근이 가능하다.

3. 접근제어자 사용 범위

대상사용가능한 접근제어자
클래스public, default
메서드모든 접근제어자
멤버변수모든 접근제어자
지역변수사용 불가

참고사이트

profile
지금 바로 Do!!

0개의 댓글