[접근제어자]
접근제어자는 클래스 내부 멤버변수, 메소드에 대한 접근을 제어하기위한 명령어이며, 세가지로 나뉜다.
1) public : 어디에서나 접근 가능함(인터페이스에서는 상수 - 변수 없이 상수로 선언됨, 메소드 모두 public으로 고정되어있음)
2) protected : 같은 패키지 내에서만 클래스 내부구성요소(변수, 메소드)는 사용할 수 있고 외부패키지에서는 사용안됨
3) private : 해당 클래스 내부에서만 사용가능함(객체를 생성하더라도 멤버변수/메소드를 호출할 수 없음)
생성자도 private을 설정할 수 있다. 왜 사용하냐고 하겠지만 생성자에서 다른 생성자를 호출해서 하나의 생성자로 모이게끔 코드를 구성할 때 최종 생성자만 private로 설정해놓는 것이다.(객체 생성시 사용자가 아닌 관리자가 따로 추가해야 할 것이 있을 때)
[접근제어자 주의해야할 점]
오버라이드 하는 메소드는 상속받은 메소드의 접근 허용범위와 같거나 더 넓은 접근 허용범위를 적용해야함
=> 오버라이드 메소드(부모클래스, 인터페이스 메소드)가 protected일 경우 자식클래스에서는 protected나 public이여야한다.
=> 인터페이스는 지정하지 않아도 모두 public이기 때문에 구현(implements)했을 때에 그 외 접근제어자를 달면 안된다.
'java' 카테고리의 다른 글
[Java] java.lang 패키지 : StringBuilder, StringBuffer (0) | 2017.01.20 |
---|---|
[Java] java.lang 패키지 : String (0) | 2017.01.20 |
[Java] 패키지 (0) | 2017.01.20 |
[Java] 레퍼런스타입 - 다형성/캐스트연산자/instanceof (0) | 2017.01.16 |
[Java] 레퍼런스타입 (0) | 2017.01.16 |
댓글