프로그래밍 언어/JAVA
[JAVA] 접근제한자, 정보은닉과 캡슐화 .
E145
2021. 2. 4. 11:11
반응형
정보은닉
정보은닉이란?
- 객체의 구체적인 정보를 노출하지 않고, 외부에서 직접 접근하는 방법을 제한하는 것.
- 인스턴스 변수의 접근 허용 범위를 제한하여 정보를 은닉한다.
자바의 접근제어 지시자(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)
캡슐화란?
- 하나의 목적 하에 둘 이상의 기능이 모여서 목적을 달성하는 것.
- 관련 있는 메소드와 변수를 하나의 클래스 안에 묶는 것.
- 캡슐화에는 정보은닉이 기본적으로 포함된다.(정보은닉이 캡슐화를 의미하는것은 아니다.)
반응형