접근제어자 - public / protected / default / private
public : 접근 제한이 전혀 없다.
protected : 같은 패키지와 다른 패키지의 자손클래스에서 접근 가능
default : 같은 패키지에서만 접근 가능
private : 같은 클래스에서만 접근 가 능
접근제어자의 사용범위
클래스 - public,default
메서드 - 접근제어 모두 사용 가능
멤버변수 - 접근제어자 모두 사용 가능
지역변수 - 접근제어자 모두 사용 불가능
제어자 - static / final, abstract, native, transient, synchronized, volatile, strictfp
static : 클래스의, 공통적인(멤버변수, 메서드, 초기화블럭)
클래스가 실행될 때 메모리에 바로 올라오게 되어 인스턴스 생성을 하지 않고도 멤버변수나 메서드를 사용할 수 있다.
인스턴스 메서드와 static 메서드의 근본적인 차이는 메서드 내에서 인스턴스 멤버를 사용하는가의 여부에 있다.
인스턴스 멤버를 사용하지 않는 메서드는 static을 붙여서 static메서드로 선언하는 것을 고려해봐야 한다.
final : 마지막의, 변경될 수 없는(클래스 메서드 멤버변수 지역변수)
클래스에 사용하면 상속을 줄 수 없다.(조상클래스가 될 수 없다)
메서드에 사용하면 오버라이딩을 통해 재정의 될 수 없다.
변수에 사용하면 값을 변경할 수 없는 상수가 된다.(final이 붙는 변수의 이름은 모든글자를 대문자로 선언한다 ex-final int NUMBER;)
abstract : 추상의, 미완성의(클래스, 메서드)
클래스에 사용하면 해당 클래스안에 추상메서드가 선언되어있음을 말한다.
메서드에 사용하면 선언부만 작성하고 구현부는 작성하지 않은 추상메서드임을 알린다.
'자바' 카테고리의 다른 글
업캐스팅 / 다운캐스팅 - 참조변수의 형변환 instanceof (0) | 2014.01.19 |
---|---|
getter와 setter, 생성자의 접근 제어자 (0) | 2014.01.19 |
초기화 블럭 - 변수 선언의 또 다른 방법 (0) | 2014.01.15 |
생성자를 이용한 인스턴스의 복사 (0) | 2014.01.15 |
여러 개의 값을 리턴하기 (0) | 2014.01.14 |