반응형
정보은닉
정보은닉이란?
- 객체의 구체적인 정보를 노출하지 않고, 외부에서 직접 접근하는 방법을 제한하는 것.
- 인스턴스 변수의 접근 허용 범위를 제한하여 정보를 은닉한다.
자바의 접근제어 지시자(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)
캡슐화란?
- 하나의 목적 하에 둘 이상의 기능이 모여서 목적을 달성하는 것.
- 관련 있는 메소드와 변수를 하나의 클래스 안에 묶는 것.
- 캡슐화에는 정보은닉이 기본적으로 포함된다.(정보은닉이 캡슐화를 의미하는것은 아니다.)
반응형
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
[JAVA] Getter / Setter (0) | 2021.02.04 |
---|---|
[JAVA] 정적 메소드(Static Method) & 정적 변수(Static Variable) (0) | 2021.02.04 |
[JAVA] String, StringBuilder, StringBuffer (0) | 2021.01.20 |
[JAVA] 스레드(Thread) (0) | 2021.01.20 |
[JAVA] 예외 처리 (0) | 2021.01.20 |
댓글