캡슐화
- 객체지향 프로그래밍에서 핵심중 하나. (다형성 다음으로 중요)
- 클래스안에 있는 변수나 메서드(데이터)를 외부에서 접근하지 못하도록 은닉하는 것.
(쉽게 말하면 데이터를 쉽게 바꾸지 못하게 할 때 사용. )
캡슐화의 목적
- 데이터 보호(정보 은닉)
- 아무나 데이터를 가지고 오지 못하게 하는 것.
- 데이터 외부 노출 방지
캡슐화 하는 방법
- 은닉하려는 정보를 private으로 놓는다.
- public한 getter나 setter메서드를 이용해서 해당 데이터에 간접적으로(돌아서) 접근하도록 한다.
- setter / getter의 경우 필요하면 유효성 검사로직을 넣어줄 수 있다.