접근 제어자 (Access Modifier)

이승준·2021년 7월 15일
1

Java Study

목록 보기
2/12

자바에서 4가지 접근 제어자


  1. private
  2. default
  3. protected
  4. public

private < default < protected < public 순으로 보다 많은 접근을 허용.

1. private


private 접근 제어자가 붙은 변수 또는 메소드는 해당 클래스에서만 접근이 가능.

public class AccessModifier { 
    private String secret; 
    private String getSecret() { 
        return this.secret; 
    } 
}

다른 클래스에서는 접근이 불가능.

2. default


접근제어자를 별도로 설정하지 않는다면 전근제어자가 없는 변수나 메소드는 default 접근제어자가 되어 해당 패키지 내에서만 접근이 가능

HouseKim.java

package jump2java.house;

public class HouseKim {
    String lastname = "kim";
}

HousePark.java

package jump2java.house; //같은 패키지

public class HousePark {
    String lastname = "park";

    public static void main(String[] args) {
        HouseKim kim = new HouseKim();
        System.out.println(kim.lastname);
    }
}

3. protected


접근제어자가 protected인 경우, 해당 접근제어자가 붙은 변수나 메소드는 동일 패키지 내의 클래스 또는 상속받은 외부 패키지의 클래스에서 접근이 가능.

HousePark.java

package jump2java.house;

public class HousePark {
    protected String lastname = "park";
}

EungYongPark.java

package jump2java.house.person;

import house.HousePark;

public class EungYongPark extends HousePark {       
    public static void main(String[] args) {
        EungYongPark eyp = new EungYongPark();
        System.out.println(eyp.lastname);       
    }    
}

4. public


public 접근제어자가 붙은 변수나 메소드는 어떤 클래스에서라도 접근이 가능.

profile
끊임없이 생각하는 주니어 웹 개발자입니다.

0개의 댓글