본문 바로가기

Java

접근자

접근자는 클래스, 메소드, 맴버변수에 한해 접근 레벨을 지정하는 것으로 내부에 쓰이는 멤버을 클래스 내부에 감춰서 캡슐화와 

은닉성 강화라는 객체지향언어의 장점을 부각시켜주는 부분이다.

객체지향언어에서 잘 짜여진 프로그램은 외부의 접근을 최대로 줄여서 데이터를 보호하는데에 있다.

접근자의 종류로는 private , protected, default(얘는 예약어가 없다), public 네가지가 있다.

클래스에서는 보통 public 와 default만을 사용한다.


먼저 private라는 녀석은 제일 접근 레벨이 높은 것으로 가장 많이 쓰이게 될 것이다. 보통 멤버 변수에 쓰이고 외부로의 접근을 

죄다 차단한다.(단 같은 클래스 내에 있으면 내부 클래스가 private라도 허용을 한다.....) 생성자에 private를 쓸 경우 하위 클래

스를 생성하지 못하게 된다. 


protected는 상속을 했을 때 빛을 발하는 접근자로 어느 패키지가 됐던간에 상속관계가 유지가 되있으면 호출이 가능하다. 

예를 들어 AAA라는 패키지에 A라는 클래스가 있는데 BBB패키지에 B라는 클래스를 만들어 A클래스를 상속을 하게 되면

B는 A에 대한 모든 것을 사용할 수 있다.


default는 예약어가 없다. 그냥 접근자를 명시해주지 않으면 그게 default형이 되는 것이다. 이것은 같은 패키지내에서라면 호출

이 가능한 nomal한 녀석이다.


public....이녀석은 접근자 레벨이 가장 낮은 녀석으로 패키지가 다르건 클래스가 다르건 어디든지 접근이 가능한 녀석이다.

그러나 객체지향언어상 캡슐화와 은닉성에 대한 것을 무지막지하게 파괴하는 녀석이므로 사용을 줄여야 하는 녀석이다.







'Java' 카테고리의 다른 글

각 자료형<->byte  (0) 2012.04.24
Buffer  (40) 2012.04.17
다형성  (0) 2012.04.03
추상클래스(abstract), 인터페이스(interface)  (0) 2012.03.29
final  (23) 2012.03.27