접근 제어자

상혁몬·2025년 3월 18일

java

목록 보기
10/12

접근 제어자(access modifier)를 사용하여 변수나 메서드의 사용 권한을 설정할 수 있다.

  • private
  • default
  • protected
  • public

접근 제어자는 private < default < protected < public순으로 많은 접근을 허용


private

접근 제어자가 private으로 설정되어있으면 private이 붙은 변수나 메서드는 해당 클래스 안에서만 접근 가능

public class Student {
	private int studentNo;
    private String name;
}

default

접근 제어자를 별도로 설정하지 않으면 변수나 메서드는 default 접근 제어자가 자동으로 설정돼 동일한 패키지 안에서만 접근 가능

house/HouseMoon.java

package house;

public class HouseMoon {
	String lastName = "Moon"; // lastName은 default
}

house/HouseYoun.java

package house;

public class HouseYoun {
	String lastName = "Youn";
    
    public static void main(String[] args) {
    	HouseMoon moon = new HouseMoon();
        System.out.println(moon.lastName); // HouseMoon 클래스의 lastName 변수 사용 가능
    }
}

protected

접근 제어자가 protected로 설정되어있다면 protected가 붙은 변수나 메서드는 동일 패키지의 클래스 또는 해당 클래스를 상속받은 클래스에서만 접근이 가능

house/HouseMoon.java

package house;

public class HouseMoon {
	protected String lastName = "Moon";
}

house/person/ShMon.java

package house.person; //  패키지 다름

public class ShMon extends HouseMoon { // HouseMoon 상속
	public static void main(String[] args) {
    	ShMon shm = new ShMon();
        System.out.println(shm.lastName); // 상속한 클래스의 protected 접근 가능
    }
}

public

접근 제어자가 public이면 어떤 클래스에서도 접근이 가능하다.

0개의 댓글