보리차
chapter 09 정보 은닉 그리고 캡슐화 본문
자바에서 말하는 정보는 클래스의 인스턴스 변수를 의미한다. 정보를 은닉한다는 것은 인스턴스 변수를 숨긴다는 뜻
정보를 은닉해야 하는 이유
인스턴스 변수에 잘못된 값이 저장되는 일을 방지하거나 값의 종류와 범위를 지정하고 싶을 때가 있다. 이런 경우 인스턴스 변수에 직접 접근하게 되면 잘못된 접근이 발생할 수 있다.
정보의 은닉을 위한 private 선언
인스턴스 변수의 앞에 private 선언을 추가한다.
private double rad = 0; // 클래스 내부 접근만 허용
이렇게 인스턴스 변수를 private으로 선언한 경우 두 메소드를 제공해야 한다.
public void setRad() {...} // rad에 값을 저장(수정)
public double getRad() {...} // rad에 저장된 값을 반환
값의 설정과 참조를 위한 메소드들이다.
게터(Getter)
- 인스턴스 변수의 값을 참조하는 용도로 정의된 메소드
- 변수의 이름앞에 get을 붙인다.
세터(Setter)
- 인스턴스 변수의 값을 설정하는 용도로 정의된 메소드
- 변수의 이름앞에 set을 붙인다.
접근 수준 지시자(Access-level Modifiers)
클래스의 정의
- public: 어디서든 인스턴스 생성이 가능
- default: 동일 패키지로 묶인 클래스 내에서만 인스턴스 생성을 허용
클래스의 인스턴스 변수와 메소드
- public: 어디서든 접근 가능
- protected: 상속 관계에 있는 다른 클래스에서 접근 가능
- private: 클래스 내부에서만 접근 가능
- default: 동일 패키지로 묶인 클래스 내에서만 접근 가능
'Java' 카테고리의 다른 글
chapter 11 메소드 오버로딩과 String 클래스 (0) | 2022.01.26 |
---|---|
chapter 10 클래스 변수와 클래스 메소드 (0) | 2022.01.26 |
chapter 08 패키지와 클래스 패스 (0) | 2022.01.25 |
chapter 07 클래스와 인스턴스 (0) | 2022.01.25 |
chapter 06 메소드와 변수의 스코프 (0) | 2022.01.21 |