📌 접근 제한자
접근의 제한을 두기 위해 제공하는 것
클래스의 정보 보호를 위한 캡슐화의 개념에 적용되므로 아주 중요한 개념이다.
public 접근 제한자
- 같은 패키지 : 자유롭게 접근 가능
- 다른 패키지 : 자유롭게 접근 가능
protected 접근 제한자
- 같은 패키지 : 자유롭게 접근 가능
- 다른 패키지 : 참조할 경우는 접근 불가(상속받은 자식 클래스는 접근 가능)
default 접근 제한자
- 같은 패키지 : 자유롭게 접근 가능
- 다른 패키지 : 접근 불가
private 접근 제한자
- 같은 패키지 : 접근 불가
- 다른 패키지 : 접근 불가
- 클래스는 public, default 사용 가능
(하나의 자바 파일에 여러 개의 클래스를 만들 경우 파일 명으로 사용하는 이름은 public 이 있는 클래스의 이름이며 public 은 오로지 하나의 클래스에만 붙힐 수 있다.)
- 생성자는 public, protected, default, private 사용 가능
- 멤버 변수는 public, protected, default, private 사용 가능
- 멤버 메서드는 public, protected, default, private 사용 가능
- 지역 변수는 접근 제한자 불가
📌 캡슐화
클래스에 선언한 변수의 접근 제한자를 private로 주고 접근을 못하게 차단 한 후 접근을 가능하도록 허용하는 변수만 메서드를 통해 접근 하도록 하는 방법
접근을 가능하게 하는 메서드
- setter : 맴버 변수에 값을 넣기 위해 제공하는 메서드.
- getter : 맴버 변수의 값을 주기 위해 제공하는 메서드
이름 짓는 규칙
- setter의 이름짓는 규칙 : set변수명
- getter의 이름짓는 규칙 : get변수명, is변수명(boolean)
class TestClass1 {
private int memberA;
private boolean memberC;
public int getMemberA() {
return memberA;
}
public void setMemberA(int memberA) {
this.memberA = memberA;
}
public boolean isMemberC() {
return memberC;
}
public void setMemberC(boolean memberC) {
this.memberC = memberC;
}
}