접근 지정자

5BRack·2022년 6월 30일

자바란?

목록 보기
11/42

접근 지정자

  • 접근 지정자는 자바 제어자 중 한 종류로, 클래스, 멤버, 생성자 앞에 위치할 수 있으며, 사용 범위를 정의하는 역할을 한다.
  • 클래스의 내부 구성 요소 4가지(필드,메서드,이너클래스,생성자)앞에 붙어 있을 때와 클래스 자체에 붙어 있을 때와 나눠서 생각해야 한다.

맴버 및 생성자 접근 지정자

종류

  • public
  • protected
  • default
  • private

아무것도 명시하지 않았다면 default 가 자동으로 설정된다.

사용 범위

  • 4가지 접근 지정자 중에 public의 사용 범위가 가장 넓으며, private가 가장 좁다.

    public > protected > deafult > private

private

  • 자신의 클래스 내부에서만 사용할 수 있는 접근 지정자이다.
  • 외부 클래스에서는 사용할 수 없다.
  • 캡슐화와 관련된 접근 지정자이다.
  • 메서드를 이용해 외부에서 접근처리할 수 있다.(Setter,Getter)

default

  • 같은 패키지안의 모든 클래스에서 사용할 수 있는 접근 지정자이다.
  • "pacakge 접근 지정자" 라고 한다.

protected

  • 같은 패키지의 모든 클래스에서 사용할 수 있다.
  • 추가 사용 범위는 다른 패키지의 자식 클래스 안에서 사용할 수 있다.
  • default + 다른 패키지의 자식 클래스

public

  • 동일패키지 및 다른 패키지에서 접근 할 수 있다.

static

  • static은 클래스의 멤버(필드,메서드,이너클래스)에 사용되는 제어자다.
  • 객체 생성 없이 클래스명.멤버명 만으로 사용할 수 있다.
  • static이 붙어 있는 멤버를 "정적 멤버" 라고 한다.
  • "정적 멤버"는 인스턴스 멤버와 반대된다.
  • 정적 메서드 내부에서는 정적 멤버만 사용할 수 있다.(인스턴스 멤버는 객체를 생성해야 하기 때문에 값이 존재할 수 없다.)

객체 안에 있을 때 사용할 수 있는 상태가 되는 멤버를 "인스턴스 멤버" 라고한다.


클래스 접근 지정자

종류

  • public
  • default

default 클래스는 같은 패키지 내에서만 사용할 수 있고, public 클래스는 다른 패키지에서도 사용할 수 있다.

생성자 접근 지정자와의 연관성

  • 자동으로 추가되는 생성자의 접근 지정자는 클래스의 접근 지정자에 따라 결정된다.

0개의 댓글