캡슐화는 객체에 대한 액세스가 객체 사용 방식과 독립적이어야 한다는 소프트웨어 설계 원칙입니다. 이를 통해 생성 방법에 관계없이 사용할 수 있는 객체를 생성할 수 있습니다. 프로그래밍 맥락에서 캡슐화는 사용자에게 개체의 구현 세부 정보를 숨기는 방법으로 생각할 수 있습니다.
프로그래밍에서 캡슐화란 한 개체의 모든 속성과 메서드를 다른 개체와 공유하여 해당 개체와는 다른 속성과 동작을 갖는 개체를 만드는 것을 의미합니다. 이 원칙은 개체가 개체 셸 내에서만 작동하는 데이터와 처리 절차를 결합하여 독립적인 모듈이 되도록 권장합니다.
예
예를 들어, 다음 시나리오를 생각해 보겠습니다. 프로세서 속성(`processorPower`), RAM(`ramCapacity`), 하드 드라이브(`hardDriveSize`) 등과 같은 속성과 메서드를 포함하는 `Computer` 클래스가 있습니다. `와 같은 다른 클래스도 가질 수 있습니다.