접근제어 지시자?
  - 접근의 허용범위를 제한하는 용도로 사용되며 public private, protected이렇게 세가지이지만, 아무런 선어도 하지 앟은경우(default)를 포함하여
    총 4가지의 형태의 접근제어 선언이 가능하다.

■ private/public
  - private로 선언되는 인스턴스 변수와 메소드는 선언된 클래스내부에서만 접근이 가능하다. 
  - public으로 선언되는 인스턴스변수, 메소드는 어디서든지 접근이 가능하다.

위 예제에서 인스턴스변수 val은 public으로 선언되어 외부에서 접근이 가능하지만,  인스턴스변수 num은 private로 선언이 되었기때문에 외부에서
접근이 불가능하다. 따라서 num에 접근하기위해서는 간적적으로 접근을 허용할수있는 접근자 메소드를 선언해주어야한다.
public void setNum(int n) : private로 선언된 num값을 변경
public void getNum(int n) : private로 선언된 num값을 반환
 ※ 접근자 메소드는 public으로 선언되어 다른 클래스에서 접근자메소드로는 접근이 가능하도록 한다.

■ protected / default
  - default는 같은패키지내에있는 클래스만 접근이 가능하도록 제어한다.
  - protected는 같은패키지내의 클래스 혹은 상속받은 클래스에만 접근이 가능하도록 제어한다.
   protected = default + 상속받은 클래스

val은 private, num은 protected로 선언되어있다. Test2클래스는 Test1클래스와 SimpleExam이라는 같은 패키지로묶여있기때문에 Test2에서 val,
num으로 접근이 가능하다.
 
Test3클래스는 Test1을 상속받은 클래스이기때문에 protected로 선언된 num에 접근이 가능하다.

■ 접근제어지시자 허용범위


※ 생성자에 적절한 접근제어지시자를 사용하여 인스턴스생성범위를 조절할수도있다.

'Developer > Java' 카테고리의 다른 글

HashMap value를 정렬하는 방법  (0) 2012.07.18
Java GUI - JOptionPane  (0) 2012.07.12
배열의 복사  (0) 2012.07.04
클래스변수, 클래스메서드  (0) 2012.07.04
Java의 기본  (0) 2012.07.04
Posted by No names
,