Java/Java
자바의 접근 제한자 (한정자)
jason.moon
2009. 11. 24. 10:35
자바는 객체지향의 특성인 캡슐화와 정보 은폐를 제공하기 위해 멤버변수에 한정자를 사용합니다.
public
같은 클래스, 하위 클래스, 또는 같은 패키지 또는 다른 패키지 내에 있는 어떤 클래스에서도 접근 할 수 있습니다.
이 접근 권한은 클래스 또는 객체의 외부 인터페이스를 제공해 줄 때 주로 사용합니다.
private
같은 클래스내에서만 접근 할 수 있습니다.
다시 말해서, 이 접근 권한으로 지정된 변수 또는 메서드를 다른 객체에서 참조하거나 사용하는것이 불가능하고, 자신의 클래스 내에 있는 메서드만이 참조하거나 사용할 수 있습니다. 클래스가 제공하는 기능을 내부적으로 구현할 때 주로 사용하고, 이렇게 함으로써 완벽한 정보은닉이 가능합니다.
protected
같은 클래스, 하위 클래스, 또는 같은 패키지 내의 모든 클래스에서 접근 할 수 있습니다.
생략(default)
같은 클래스, 또는 같은 패키지내의 모든 클래스에서 접근 할 수 있습니다.
protected 접근 지정자와는 달리 하위 클래스에서는 접근할 수 없습니다.
static
객체를 생성하지 않고서도 멤버변수나 메서드를 사용할 수 있게 해줍니다.
final
클래스에 사용될 경우에는 상속불가의 의미이고 형식은 'final class 클래스이름 {}'입니다.
메서드에 사용될 경우에는 오버라이딩 불가의 의미이고 형식은 '접근제한자 final 리턴타입 메서드명() {}'입니다.
변수에 사용될 경우에는 상수의 의미이고 형식은 'final 데이터형 변수명;'입니다.