[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개의 댓글

관련 채용 정보