encapsulation ; 캡슐화

일반적으로 캡슐화는 어떤 하나를 다른 것에 포함시킴으로써, 포함된 것이 외부에서 보이지 않도록 하는 것이다. 반대로, 캡슐 해제는 이를 제거하거나, 또는 캡슐화되기 이전의 것을 보이게 하는 것이다.

  1. 객체지향 프로그래밍에서, 캡슐화는 객체와 기능, 즉 메쏘드데이터 등을 위해 필요한 모든 자원을 프로그램 객체 내에 포함시키는 것이다. 그 객체는 자신의 인터페이스들을 외부에 널리 알림으로써, 다른 객체들은 그 객체가 그 일을 어떻게 수행할 지에 대해 전혀 알지 못하더라도, 단지 인터페이스만을 통해 그 객체를 사용할 수 있다. 이는 마치 "네가 그것을 어떻게 하는지는 말하지 말고, 그저 나를 위해 그것을 해줘"라는 식으로, 사용자에게는 어떤 일을 수행하는지의 기능에 대한 인터페이스만을 제공하며, 내부에서 일어나는 일은 숨긴다. 각각의 객체는 하나의 독립적인 원자라고 생각할 수 있으며, 객체 인터페이스는 전역 메쏘드들과 인스턴트 데이터로 이루어져있다.
  2. 통신에서의 캡슐화는, 다른 구조 속에 포함된 하나의 데이터 구조로서, 일정시간동안 첫 번째 데이터 구조가 감추어진다. 예를 들어, 하나의 TCP/IP 형식의 데이터 패킷은 다른 종류의 전송데이터 단위인 ATM 프레임 속에 캡슐화될 수 있는데, ATM 프레임이 송수신 되는 상황 속에서, 캡슐화된 패킷은 단지 ATM 데이터들 사이의 비트 스트림으로 간주될 뿐이다.

이 정보는 1999년 9월 6일에 수정되었습니다.
영어판(whatis.com)