1. 접근제어자
Java의 멤버변수와 메소드에는 접근제어자를 지정할 수 있다.
접근제어자의 위치는 데이터타입의 왼쪽이다.
- 아무것도 적지 않는다(default) : 같은 패키지 내에서만 접근 가능
- public : 아무 곳에서나 접근 가능
- private : 선언된 클래스 내에서만 접근 가능
- protected : 같은 패키지나 상속관계 일 때 접근가능
2. getter / setter
멤버변수가 private으로 되어있으면, 외부에서 접근할 수 없기 때문에
클래스에 멤버변수 데이터를 가져오는 메소드, 저장하는 메소드가 있어야 한다.
이를 getter/ setter 라고 부른다
public class Member {
private String name;
private String tel;
private String address;
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
이클립스에서 getter / setter 쉽게 만드는 방법
- 클래스 내에서 마우스 우클릭
3. 캡슐화(Encapsulation)
접근제한자를 설정하고 setter/getter 메소드를 통해 접근하게 하는 이유는 무엇일까?
이런 것을 캡슐화라고 하는데 ,
캡슐화란 객체의 내부 구조 및 데이터를 캡슐처럼 감싸 외부에서 직접 볼 수 없게 은닉하여 보호하는 것을 말한다.
캡슐화를 통해 외부에서 내부의 정보에 접근하거나 변경할 수 없게 직접적인 접근을 막고, 객체가 제공하는 필드와
메소드를 통해서만 접근이 가능하다.
이렇게 접근을 제한함으로써 유지보수나 확장 시 오류의 범위를 최소화할 수 있고,
객체 내의 정보 손상과 오용을 방지하고 데이터가 변경되어도 다른 객체에 영향을 주지 않아 독립성이 좋다.
'Java' 카테고리의 다른 글
Java - 변수의 종류와 메모리 구조 (0) | 2023.01.20 |
---|---|
Java - 클래스 상속(Inheritance), 오버라이딩(Overriding) (0) | 2023.01.19 |
Java - this 키워드 (0) | 2023.01.19 |
Java - 생성자(Constructor) (0) | 2023.01.19 |
Java - 메소드 오버로딩(Method Overloading) (0) | 2023.01.18 |