목차
접기
728x90
반응형
정보 은닉
- 객체 지향 프로그램에서는 예약어를 사용해 클래스 내부의 변수나 메서드, 생성자에 대한 접근 권한을 지정할 수 있다.
- public 이라고 선언한 변수나 메서드는 외부 클래스에서 접근이 가능하며 외부 클래스가 사용할 수 있다는 뜻이다.
- 반대로 접근 제어자를 private으로 선언한 변수나 메서드는 외부 클래스에서 사용할 수 없다.
변수를 public으로 선언하는 것과 변수를 private으로 선언하고 나서 그 변수를 사용할 수 있도록 public 메서드를 제공하는 것의 차이는 무엇일까?
- 클래스의 멤버 변수를 public으로 선언하면 접근이 제한되지 않으므로 정보의 오류가 발생할 수 있다.
- 필요하지 않은 정보를 해당 클래스에 저장을 하게 될 수도 있는 것이다.
이처럼 클래스 내부에서 사용할 변수나 메서드는 private으로 선언해서 외부에서 접근하지 못하도록 하는 것을
객체 지향에서는 정보 은닉(information hiding)
이라고 한다.
정보 은닉은 객체 지향 프로그래밍의 특징 중 하나이다.
- 모든 변수를 private으로 선언해야 하는 것은 아니지만, 필요한 경우에는 private으로 선언하여 오류를 막을 수 있다.
접근 제어자 종류
- public : 외부 클래스 어디에서나 접근할 수 있다.
- protected : 같은 패키지 내부와 상속 관계의 클래스에서만 접근할 수 있고 그 외 클래스에서는 접근할 수 없다.
- 아무것도 없는 경우 : defatult이며 같은 패키지 내부에서만 접근할 수 있다.
- private : 같은 클래스 내부에서만 접근할 수 있다.
정리
인스턴스
- 클래스를 생성하여 메모리에 있는 상태를 인스턴스라 하고 멤버 변수를 다른 말로 인스턴스 변수라고 한다.
728x90
반응형
LIST
'Java' 카테고리의 다른 글
[ java ] static 변수 (0) | 2020.12.17 |
---|---|
[ java ] 객체. this (0) | 2020.12.17 |
[ java ] 생성자(constructor) (0) | 2020.12.14 |
[ java ] 참조 자료형 연습 (0) | 2020.12.14 |
[ java ] 객체 지향 기초 개념 7가지 (0) | 2020.12.14 |