☕ JAVA

[Java] 접근 제어자(access modifier)

별이⭐ 2024. 5. 26. 22:13

접근 제어자(access modifier)

  • 접근 제어자의 종류
    • private: 같은 클래스 내에서만 접근 가능
    • (default): 같은 패키지 내에서만 접근 가능
    • protected: 같은 패키지 내에서, 그리고 다른 패키지의 자손 클래스에서 접근 가능
    • public: 접근 제한이 전혀 없음
  • 클래스와 멤버에 붙일 수 있는 접근 제어자
    • 클래스 앞엔 (default)와 public 둘 중 하나를 사용할 수 있다.
    • 멤버(필드, 메서드) 앞엔 접근 제어자 넷 중 하나를 사용할 수 있다.
  • 접근 제어자를 사용하는 이유?
    1. 외부로부터 데이터를 보호하기 위해서 → 캡슐화
    2. 외부에는 불필요한, 내부적으로만 사용되는 부분을 감추기 위해서
public class Time {
	private int hour;	// 외부에서 직접 접근 X
      
    // 메서드는 public으로 지정해 hour 필드에 간접 접근 가능 -> 캡슐화
    public int getHour() { 
    	return hour; 
    }
  
	public void setHour(int hour) {
        if (hour < 0 || hour > 23 ) return;	// 값 보호
        this.hour = hour;
  }
}