접근제한자

정윤서·2023년 9월 14일
0

접근제한자(AccessModifier)

접근제한자의 종류에는 4가지가 있다.

  • public → 어디서든 누구나 접근 가능
  • protected → 같은 패키지(폴더) + 상속관계에서만 가능
  • default → 같은 패키지에서만 가능
  • private → 자기 자신만 가능
public class AccessModifier {
int num1 = 10;
int num2 = 20;
}

객체 변수인 num1, num2가 있을 때 함수안에서 객체 변수인 num1과 num2에 다른 값을 대입하는 것은 부담스러운 작업이다. 객체 변수는 웬만하면 직접적으로 바꾸지 않아야 한다.
그래서 객체 변수를 생성할 때 외부에서 접근할 수 없도록 private이라는 접근제한자를 붙여주면 좋다.

그렇다면 변수에 다른 값을 대입해야하만 한다면 어떤 방법을 사용할 수 있을까?

class Calculator {
    private int num1 = 10;
    private int num2 = 20;

그런 상황을 위한 외부에서 객체 변수에 접근할 수 있는 메서드가 있다.
우리는 getter, setter라는 메서드를 사용해 객체 변수에 접근한다.
setter는 변수에 값을 세팅해 주는 메서드, getter는 변수의 값을 가져오는 메서드이다.

public void setNum1() {this.num1 = num1;}
public int getNum1() {return this.num1;}
public void setNum2() {this.num2 = num2;}
public int getNum2() {return this.num2;}

이런 식으로 getter, setter를 사용할 수 있다.

0개의 댓글