안녕하세요 알통몬입니다. 공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
main() 메서드가 없는 대부분의 클래스는 라이브러리 클래스입니다.
라이브러리 클래스를 설계할 때에는 외부 클래스에서 접근할 수 있는 멤버와
접근할 수 없는 멤버로 구분해서 필드, 생성자, 메서드를 설계하는 것이 바람직합니다.
객체 생성을 막기 위해 생성자를 호출하지 못하게 하거나
객체의 특정 데이터를 보호하기 위해 해당 필드에 접근하지 못하도록 막아야 합니다.
특정 메서드를 호출할 수 없도록 제한할 필요가 있습니다.
자바는 이러한 기능을 구현하기 위해 접근 제한자를 제공하고 있습니다.
접근 제한자는 public, protected, default, private와 같이 네 가지가 있습니다.
public -> protected -> default -> private 오른쪽으로 갈수록 접근 제한이 강화됨.
접근 제한 적용대상 접근할 수 없는 클래스
public 클래스,필드,생성자,메서드 없음
protected 필드,생성자,메서드 자식 클래스가 아닌 다른 패키지에 소속된클래스
default 클래스,필드,생성자,메서드 다른 패키지에 소속된 클래스
private 필드,생성자,메서드 모든 외부 클래스
클래스 접근 제한
클래스를 선언할 때 고려해야 할 사항
같은 패키지 내에서만 사용할 것인가,
다른 패키지에서도 사용할 수 있도록 할 것인가 결정해야 함
. 클래스에 적용할 수 있는 접근 제한자는 public, default 단 두기지 입니다.
//default 접근 제한
class 클래스 { ... }
//public 접근 제한
public 클래스 { ... }
default 접근 제한
클래스를 선언할 때 public을 생략했다면 클래스는 default 접근 제한을 가진다.
클래스가 default 접근 제한을 가지게 되면 다른 패키지에서는 사용할 수 없도록 제한됩니다.
public 접근 제한
클래스를 선언할 때 public 접근 제한자를 붙였다면 클래스는 public 접근 제한을 가집니다.
클래스가 public 접근 제한을 가지게 되면 같은 패키지뿐만아니라
다른 패키지에서도 아무런 제한 없이 사용할 수 있습니다.
클래스가 다른 개발자가 사용할 수 있도록 라이브러리 클래스로 개발되어야 한다면
반드시 public 접근 제한을 갖도록 해야합니다.
'자바' 카테고리의 다른 글
JAVA 자바 필드 접근 제한과 메서드 접근 제한 (0) | 2017.03.12 |
---|---|
JAVA 자바 생성자의 접근 제한 (0) | 2017.03.12 |
JAVA 자바 패키지 선언, import 문 , 이클립스에서 패키지 생성과 클래스 생성 (0) | 2017.03.12 |
JAVA 자바 final 필드와 상수 (0) | 2017.03.12 |
JAVA 자바 정적 멤버와 static - 정적 메서드와 블록 선언 시 주의할점, 싱글톤 (0) | 2017.03.12 |