- 제어자 분류

1. 접근제어자 : public, protected, default, private

2. 그외제어자 : static(클래스), final, abstract(추상), native, transient(직렬화 X), synchronized(동기화), volatile, strictfp


public - 접근제한이 전혀 없다.

protected - 같은 패키지 내에서, 그리고 다른패키지의 자손클래스에서 접근이 가능하다.

default - 같은 패키지내에서만 접근이 가능하다.

private - 같은 클래스 내에서만 접근이 가능하다.


private < default < protected < public 




- 제어자의 조합자

  

- 제어자 조합시 주의사항

1. 메서드에 static 과  abstract(추상) 함꼐 사용할 수 없다.

: static 메서드는 몸통(구현)있는 메서드만 사용 가능하다.

2. 클래스에 abstract(추상) 와 final 을 동시에 사용할 수 없다.

: 클래스에서 사용되는 final 은 확장할 수 없다는 의미이고, abstract 는 상속을 통해 완성해야한다는 의미로

  모순이다.

3. abstract(추상) 메서드의 접근제어자가 private 일 수 없다.

: abstract 메서드는 자손클래스에서 구현해 주어야 하는데 접근제어자가 private 이면, 자손클래스에서 접근할 수 없다.

4. 메서드에 private 와 final 을 같이 사용할 필요는 없다.

: 접근제어자가 private 인 메서드는 오버라이딩할 수 없기 때문이다.

'공부 > JAVA' 카테고리의 다른 글

JAVA_[SMTP mail 전송(Gmail)]  (0) 2015.05.06
JAVA_[ Collection.srot (리스트 정렬)]  (0) 2015.03.26
JAVA_[ JVM의 메모리구조 ]  (0) 2015.02.10
JAVA_[Thread join()]  (0) 2015.02.09
JAVA_[Thread start() & run()]  (0) 2015.02.06

+ Recent posts