접근 제어자 (Access Modifier)
멤버나 클래스를 외부에서 접근하지 못하도록 제한하여, 클래스의 내부에 선언된 데이터를 보호한다.
접근제어자는 클래스, 멤버변수, 메서드, 생성자에 사용될 수 있다.
public: 접근 제한이 전혀 없다.
protected: 패키지와 관계없이 상속관계에 있는 자손클래스에서 접근이 가능하다.
default: 같은 패키지 내에서만 접근이 가능하다.
private: 같은 클래스 내에서만 접근이 가능하다.
캡슐화(Encapsulation)
비밀번호와 같은 데이터를 외부에서 함부로 변경하지 못하도록 하기 위해, 실제 구현내용 일부를 외부에 감추어 은닉한다.
캡슐화된 클래스 내부의 메서드(setter, getter)만을 통해 변수를 조작할 수있다.
클래스 내의 변수에 대해 수정 권한을 설정하여, 유지보수할 때의 오류를 최소화할 수 있다.
클래스 내부의 데이터 형태가 변경되어도 다른 객체에 영향을 주지 않아 독립성이 유지된다.
각 객체의 세부 내용은 알 필요가 없으므로 객체간의 결합도가 낮아진다.
참고 도서: 자바의 정석
'Java' 카테고리의 다른 글
추상 클래스 (Abstract Class) 와 추상화 (Abstraction) (0) | 2018.11.27 |
---|---|
다형성 (Polymorphism) (0) | 2018.11.27 |
JVM (Java Virtual Machine) 개념과 JVM 메모리 구조 (0) | 2018.11.27 |
생성자 (Constructor) (0) | 2018.11.27 |
상속 (Inheritance) (0) | 2018.11.27 |