캡슐화란 ? 💊
특정 객체 안에 관련된 속성과 기능을 하나의 캡슐(capsule)로 만들어 데이터를 외부로부터 보호하는 것을 말한다.
캡슐화를 해야하는 이유
- 데이터 보호의 목적
- 내부적으로만 사용되는 데이터에 대한 불필요한 외부 노출을 방지하기 위함
- 캡슐화의 가장 큰 장점은 정보 은닉(data hiding) 이다.
- 외부로부터 객체의 속성과 기능이 함부로 변경되지 못하게 막고, 데이터가 변경되더라도 다른 객체에 영향을 주지 않기에 독립성을 확보할 수 있다.
접근 제어자 (Access Modifier)
- 캡슐화를 구현하기 위한 핵심적인 방법으로 접근 제어자가 사용된다.
- 접근 제어자를 사용하면 클래스 외부로의 불필요한 데이터 노출을 방지(data hiding) 할 수 있다.
- 외부로부터 데이터가 임의로 변경되지 않도록 막을 수 있다.
getter와 setter 메서드
getter 와 setter 메서드를 사용하여 private 접근제어자가 포함되어 있는 객체의 변수의 데이터 값을 추가하거나 수정할 수 있다.
- setter 메서드의 경우 외부에서 메서드에 접근하여 조건에 맞을 경우 데이터 값을 변경 가능하게 해준다.
- getter의 메서드의 경우 설정한 변수 값을 읽어오는데 사용된다.
- setter 와 getter를 활용하여 데이터를 효과적으로 보호하면서도 의도하는 값으로 값을 변경하여 캡슐화를 보다 효과적으로 달성할 수 있다.