본능적으로 모호함을 피하려는 프로그래머들 사이에서도 캡슐화(encapsulation)라는 용어의 의미는 명확하지 않다. 가장 많이 사용되는 몇 가지 정의는 다음과 같다.
- 정보 숨김(information hiding)과 동의어
- 구현 숨김(implementation hiding)과 동의어
- 데이터 숨김(data hiding)과 동의어
- 응집을 통한 새로운 정체성 형성
정보 숨김의 정의는 논란의 여지가 없다. 70년대 초 David Parnas는 어려운 설계 결정과 변경될 가능성이 높은 설계 결정을 파악하는 것으로 모듈화를 시작하라 제안했고 이런 결정들이 다른 모듈로부터 숨겨지는 것을 정보 숨김이라 표현했다.
Advertisements