제어자란?
클래스, 변수, 메서드의 선언부에 쓰이며 부가적인 의미를 부여
크게 두 가지 종류가 존재한다.
- 접근 제어자
- 기타 제어자 : static, final 등등
static
- 인스턴스를 생성하지 않고도 쓸 수 있게 만들어 줌.
- 클래스가 메모리에 로드될 때, 한 번만 초기화 됨.
final
- 말 그대로 마지막이라는 의미.
- 변수에 사용하면 상수로 취급
- 메서드에 사용하면 오버라이딩(덮어쓰기) 불가
- 클래스에 사용하면
abstract
추상 메소드를 만들 때 쓰는 제어자
접근 제어자
멤버 또는 클래스에 사용되어 접근을 제어한다.
크게 4가지가 존재한다.
- private : 같은 클래스 내에서 접근 가능
- (기본) : 같은 패키지 내에서 접근 가능
- protected : 같은 패키지 내, 다른 패키지의 자손클래스에서 접근 가능
- public : 어디서든 접근 가능
캡슐화
접근 제어자를 통해 클래스 내부의 데이터를 보호하는 것.
중요한 데이터를 지키기 위한 방책이라고 할 수 있다.
java
public class info {
private String id;
private String pw;
public String getid() {return id;};
public String setid(String x) {this.id = x};
}
제어자 규칙
- 메서드에 static과 abstract를 함께 쓸 수 없다.
- 클래스에 abstract와 final을 동시에 쓸 수 없다.
- abstract 메서드는 private를 못 쓴다.
- private과 final을 같이 사용할 필요가 없다.