[day10] java-basic : 접근제한자
접근제한자의 종류
public
: 모든 위치에서 접근이 가능하다. 다른 패키지에 있는 요소에 접근하려면 해당 클래스를 import해야 한다.protected
: 같은 패키지 내에서만 접근 가능하다, 단, 상속관계에 있을 때는 접근이 가능하다.default
: 같은 패키지에서만 접근 허용, 접근제한자를 안쓰면 default로 인식한다.private
: 자신 클래스에서만 접근이 가능하다.
외부 클래스를 만드는 방법
클래스명.java
파일을 만드는 방법 : public 형태를 갖는다. 다른 모든 패키지에서도 모두 접근 가능하다.- 클래스 내에 별도 클래스를 만드는 방법 : public를 붙일 수 없다. 일반적으로 default 접근제한자가 생략되어 있기 때문에 다른 패키지에서 접근할 수 없다.
- 실제적으로 배포할때는 자신의 패키지에서 내부적으로 쓰는 클래스만 두 번째 방식으로 만들고, 일반적으로는 매번 새로운 class파일을 만들어서 public으로 사용하는 방식이 좋다.
- 생성자도 public이 아니면 다른 패키지에서 사용할 수 없는 default이기 때문에 public으로 만드는 것이 좋다.
접근제한자 사용 대상
- 외부 클래스 :
public
,default
- 내부 클래스, 멤버변수, 메소드 :
public
,default
,protected
,private
접근제한자 유의사항
- 한 번 public으로 배포된 클래스는 많은 사용자들이 사용하고 있을 것이기 때문에 접근제한자를 좁히기 힘들다.