정보은닉, 은닉화

태그
OOP
날짜
2023/07/25
2 more properties
캡슐화를 하는 중요한 목적은 바로 정보은닉이다.
유저 정보를 가지고 있는 User라는 객체에서 유저의 정보가 public으로 선언되어 있다면, 누구든 접근해서 유저 정보를 변경할 수 있다.
그렇기 때문에 private로 해서 데이터를 보호해서 접근을 제한해야한다.
이렇게 보호된 변수는 getter나 setter 등의 메서드를 통해서만 간접적으로 접근이 가능하도록 하는 것이 캡슐화의 중요한 목적이다.(setter도 아무생각 없이 만들면 안된다.)
캡슐화와 정보은닉은 동일한 개념이 아니다.
캡슐화를 하면 불필요한 정보를 감출 수 있기 때문에, 정보은닉을 할 수 있다는 특징이 있다는 것이다.
예를 들어, 리모콘을 사용하는데 리모콘 내부 회로(private으로 정의된 속성)를 알 필요가 있느냐는 것이다.
사용자의 입장에서는 리모콘의 조작 기능, 즉 public으로 정의된 속성만 알면 된다는 것이다.