접근 제어자
멤버 또는 클래스에 사용되며, 외부에서 접근하지 못하도록 제한합니다.
클래스, 멤버 변수, 메서드, 생성자에 사용되고, 지정되어 있지 않으면 default입니다.
- public : 접근 제한이 전혀 없이 누구나 접근할 수 있습니다.
- protected : 같은 패키지 내에서, 다른 패키지의 자손클래스에서 접근이 가능합니다.
- default : 같은 패키지 내에서만 접근이 가능합니다.
- private : 같은 클래스 내에서만 접근이 가능합니다.
접근제어자를 붙이지 않으면 package 멤버로 간주됩니다.
package 멤버는 같은 패키지에 속하는 클래스로부터의 접근만을 허용합니다.
멤버: 클래스를 구성하는 필드와 메서드(생성자는 멤버에 속하지 않습니다.)
접근 제어자 사용
- 접근제어자는 클래스 내부에 선언된 데이터를 보호하기 위해서 사용합니다.
- 유효한 값을 유지하고, 함부로 변경하지 못하도록 접근을 제한할 수 있습니다.
- 객체의 무결성 즉, 변경이 없는 상태를 유지하기 위해 접근 제어자를 사용합니다.
사용가능한 접근 제어자
- 클래스: public, default
- 메서드, 멤버변수: public, private , protected, default
- 지역변수: X
객체의 private 필드를 읽어오거나 저장하는 방법 -> Getter, Setter
Getter
외부에서 객체의 private 한 필드를 읽을 필요가 있을 때 Getter 메서드를 사용합니다.
get + 필드이름
public String getModel() {
return model;
}
public String getColor() {
return color;
}
public double getPrice() {
return price;
}
Setter
외부에서 객체의 private 한 필드를 저장/수정할 필요가 있을 때 Setter 메서드를 사용합니다.
set + 필드이름
public void setModel(String model) {
this.model = model;
}
public void setColor(String color) {
this.color = color;
}
public void setPrice(double price) {
this.price = price;
}
'Java' 카테고리의 다른 글
| Java 문자열 처리 이해: String vs. StringBuffer vs. StringBuilder (0) | 2024.01.10 |
|---|---|
| 상속 (Inheritance) (0) | 2024.01.09 |
| List (0) | 2024.01.05 |
| 메서드(method) (0) | 2024.01.04 |
| 객체지향 프로그래밍 (2) | 2024.01.03 |