수색…


정보 숨기기

주어진 시간에 객체의 상태는 그 시점에 보유하고있는 정보로 표현됩니다. OO 언어에서 상태는 멤버 변수로 구현됩니다.

적절하게 설계된 객체에서 상태는 멤버 변수를 직접 조작하지 않고 메소드 호출을 통해서만 변경할 수 있습니다. 이는 private 멤버 변수의 값에 대해 작동하는 공용 메서드를 제공함으로써 성취됩니다. 이러한 방식으로 정보를 숨기는 것을 캡슐화 라고 합니다 .

따라서 캡슐화는 접근 자 및 메소드에 대한 호출을 통하지 않고는 개인 정보가 노출되지 않고 수정할 수 없도록합니다.

다음 예제에서는 hungry private 필드를 변경하여 더 이상 배고프지 않게 Animal 을 설정할 수 없습니다. 대신 hungry 플래그를 false 로 설정하여 Animal 의 상태를 변경하는 eat() 메서드를 호출해야합니다.

public class Animal {
    private boolean hungry;

    public boolean isHungry() {
        return this.hungry;
    }
    
    public void eat() {
        this.hungry = false;
    }
}


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow