본문 바로가기
프로그래밍 언어/JAVA

[JAVA] 접근제한자, 정보은닉과 캡슐화 .

by E145 2021. 2. 4.
반응형

정보은닉

 

정보은닉이란?

 

 - 객체의 구체적인 정보를 노출하지 않고, 외부에서 직접 접근하는 방법을 제한하는 것.

 

 - 인스턴스 변수의 접근 허용 범위를 제한하여 정보를 은닉한다.

 


 

자바의 접근제어 지시자(Access Control Specifiers)

 

구분 클래스 내부 동일 패키지 상속받은 클래스 이외의 영역
private O X X X
dafault O O X X
protected O O O X
public O O O O

 - default : 인스턴스 변수와 인스턴스 메소드에 아무런 지시자를 선언하지 않은 경우.

 

 - 이외의 영역 : 서로 다른 패키지에 포함되어 있는 두 클래스 사이의 접근

 

 - 클래스의 경우 default와 public만 선언이 가능하다.

 

 


 

public 클래스

 

 - 자바에서 public 클래스는 제약사항이 존재한다.

  

 - 하나의 소스파일에는 하나의 클래스만 public으로 선언할 수 있다.

 

 - public 클래스의 이름과 소스파일의 이름은 완전히 일치해야 한다.

 

 - public 클래스의 경우 디폴트 생성자도 public으로 선언된다. 반면, default 클래스의 경우에는 default로 생성된다.

 


 

캡슐화(Encapsulation)

 

캡슐화란?

 

 - 하나의 목적 하에 둘 이상의 기능이 모여서 목적을 달성하는 것.

 

 - 관련 있는 메소드와 변수를 하나의 클래스 안에 묶는 것.

 

 - 캡슐화에는 정보은닉이 기본적으로 포함된다.(정보은닉이 캡슐화를 의미하는것은 아니다.)

 

 

반응형

댓글