
1. 은닉성
1-1. 은닉성
1-2. 적용방법

접근 한정자
public
-> 모든 곳에서 접근 가능하다.
-> 일반적으로 모든 메서드 앞에 명시한다.
private
-> 클래스 안에서만 사용 가능하고, 객체를 통해 접근할 수 없다.
-> 일반적으로 모든 멤버변수 앞에 명시한다.
protected
-> 현재 클래스 내의 다른 자원이나 같은 패키지 안에 존재하는 클래스와 하위 클래스에서 접근 가능하다.
-> 잘 사용하지 않는다.
default
-> 접근 한정자를 명시하지 않은 경우. 현재 클래스 내의 다른 자원이나 동일 패키지 내의 다른 클래스에서 접근 가능하다.
-> 잘 사용하지 않는다.
1-3. getter, setter
멤버변수가 은닉된 형태로 선언된 경우 프로그램의 가장 근본적인 데이터에 접근하는 방법이 사라지므로 메서드를 통하여 간접적으로 접근하는 방법이 마련되어야 한다.
getter, setter는 은닉된 멤버변수에 간접적으로 접근하기 위하여 정의된 메서드들을 의미하는 용어
-> getter: 은닉된 멤버변수의 값을 리턴하기 위한 메서드
-> setter: 파라미터로 전달된 값을 멤버변수에 복사하기 위한 메서드
1-4. 클래스에 접근 한정자를 지정한 경우
접근 한정자
public
-> 객체생성 가능하다. 서로 다른 소스코드에 정의된 클래스끼리도 객체 생성이 가능하다.
private
-> 클래스에 적용할 수 없다.
protected
-> 클래스에 적용할 수 없다.
default
-> 지금까지의 예제 형태
-> 동일한 소스코드에 정의된 클래스끼리만 객체로 생성 가능하다.
1-5. 클래스의 분리
1-6. 자바빈즈(Java Beans)