- 제어자 분류
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 |