캡슐화(encapsulation)란, 특정 객체 안에 관련된 속성과 기능을 하나의 캡슐(capsule)로 만들어 데이터를 외부로부터 보호하는 것을 의미한다. 이렇게 캡슐화를 해야 하는 이유는 '데이터 보호의 목적'과 '내부적으로만 사용되는 데이터에 대한 불필요한 외부 노출'을 방지하기 위함이다. 즉, 캡슐화는 관련이 있는 변수와 함수를 하나의 클래스로 묶고 외부에서 쉽게 접근하지 못하도록 은닉하는 것이다. 외부로부터 객체의 속성과 기능이 함부로 변경되지 못하게 막고, 데이터가 변경되더라도 다른 객체에 영향을 주지 않기 때문에 독립성을 확보할 수 있다. 또한, 유지보수와 코드 확장 시에도 오류의 범위를 최소화할 수 있어서 효과적인 코드 유지보수에 용이하다. 캡슐화는 자바 프로그래밍에서 4가지의 접근 제어자..