본문 바로가기
Programming/Java

[Java] 자바 접근제어자 정리 (public/private/protected/default)

by castberry_ 2021. 2. 4.
반응형

접근제어자 범위

Public  >  Private  > Protect  > default


Public

패키지, 클래스의 제약이 없습니다.

Private

같은 클래스에서만 접근이 가능합니다. 

제일 제한이 큰 접근제어자입니다. 

protected

같은 패키지에서만 접근이 가능합니다. 

default

같은 패키지, 해당 클래스를 상속 받은 다른 패키지의 자손 클래스에서 접근이 가능합니다. 

접근제어자를 설정하지 않았을 때 값이 default로 설정됩니다. 


접근 제어자의 대상  -> 클래스, 메서드, 멤버변수

클래스 -> public, default

메서드 -> public, private, protected, default

멤버변수 -> public, private, protected, default


접근제어자의 역활 

변수, 메서드, 클래스 안에 담겨있는 데이터에 대한 접근을 제한하며 다른말로 접근 제한자라고도 합니다. 

접근제어자를 적절히 사용할 경우 개발자의 실수를 방지할 수 있습니다.

클래스를 설계할 때에는 외부 클래스에서 접근할 수 있는 멤버, 그렇지 않은 멤버를 구분하여 필드, 생성자, 메서드를 설계해야합니다.

이때 객체의 특정 데이터를 보호하거나 객체 생성을 막을 필요가 있는 경우가 발생하는데, 이를 대처할 수 있습니다.   


접근제어자 예시 

class Dinae{
    public int intPublic = 1;
    protected int intProtected = 20;
    private String privateString = "potato";
}
cs

 

 

반응형

댓글