Java/Java(base)

[Java]접근 권한 제어자 public, private, protected, default / getter, setter

ID_DI 2021. 11. 30. 02:00

접근 권한 제어자

다른 패키지 혹은 다른 클래스에서 해당 필드에 접근할 수 있는 범위(권한)을 설정해주는 키워드

  • (default) : 다른 패키지에서 접근 불가
  • public : 모든 곳에서 접근 가능
  • private : 다른 클래스에서 접근 불가
    • 데이터 전송할 때, 보안을 위해서 설정(보통 데이터는 private 사용)
    • 직접 접근할 방법이 하나도 없기 때문에 public 메소드를 통해서 간접적으로 접근할 수 있도록 한다.
    • 값을 사용하는 경우 : getter / 수정하는 경우 : setter
  • protected : 다른 패키지에서 접근 불가 / 단, 자식은 자기 필드처럼 사용가능

getter setter

public 메소드를 통해 private 에 접근할 수 있도록 하는 기법

public class Test{
    public static void main(String[] args){
        int data1 = 10;
        public int data2 = 20;
        private int data3 = 30;
        protected int data4 = 40;

        public int getData3(){ //getter
            return data3;
        }
        public void setData3(int data3){ //setter
            this.data3 = data3;
        }
    }
}