1. [ 통신분야 ]
ㅇ 통신분야에서의 캡슐화
- OSI 계층모델에서 사용자 데이타가 각 계층을 지나면서,
- 하위 계층은 상위 계층으로부터 온 정보를 데이터로 취급하며,
- 자신의 계층 특성을 담은 제어정보(주소,에러제어 등)를 헤더화시켜,
- 이를 붙이는(포장하는) 일련의 과정
ㅇ 통신계층의 각 계층에서 캡슐화하는 과정에 대한 설명 例
- OSI의 7 계층모델에서 정보가 응용계층으로부터 물리계층까지 전달될 때,
- 각 계층은 특정제어정보(주로 Header)를 추가 (캡슐화)
- 각 과정의 例)
. 표현계층은 전송할 비트 수의 감소를 위해 압축 알고리즘을 사용했다고 표시하는 등
. 세션계층은 세션 구별번호의 추가 등
. 트랜스포트계층은 패킷 순서번호의 추가 등
. 네트워크계층은 송수신 주소,가상회선 번호를 추가할 수 있는 등
. 데이타링크계층은 프레임 순서번호의 추가 등
. 물리계층은 에러 제어 비트를 추가하는 등
- 위의 역 과정
. 이와같이 각 계층에서 추가된 특정한 프로토콜 제어 정보(PCI,헤더)들을
. 통신의 상대측에서는 위의 역순으로 제거하면서 응용계층까지 도달
※ [참고] ☞ IP 데이터그램 캡슐화
ㅇ 터널링 (Tunneling)
- 이때의 캡슐화는,
- 어떤 네트워크 형태에 맞는 프레임을 다른 형태의 네트워크 프레임 안에 수납시키는 것을 의미
2. [ 전산분야 ]
ㅇ 캡슐화
- 여러 요소들을 하나의 단위로 묶어주는 것 이상으로,
- `외부에 대한 가시적인 부분`과 `내부 및 구현에 관계되는 세부적인 사항`을
분리하는 모델링 및 구현기법
- 즉,
. ① 복잡하고 불필요한 부분 등을 사용자에게 안보이게 하고,
.. (Mechanism of Enforcing Information Hiding)
. ② 외부세계와 인터페이스를 잘 할 수 있도록 표준화시킨 포장이 되도록 함
.. 객체를 잘 사용키 위해, 내부 상세 구현사항을 숨긴채,
.. 인터페이스를 통해 객체를 사용토록, 캡슐화하는 것
ㅇ OOP(객체지향 프로그래밍)에서, 캡슐화의 주요 특징으로는,
- 데이터(변수) 및 함수(처리방법,메소드)를 논리적으로 하나로 묶어놓음
. 한편, `클래스`화는 캡슐화를 지원하는 도구인 셈 ☞ 클래스 참조
.. 클래스 내 변수들은 메소드를 통해서 만 변경시키게 함
.. 기존 메소드가 동일 기능을 수행하되, 효율적 개선이 가능토록 변경도 가능 함
- 임의의 객체 요소에의 접근을 제한하는 방법을 제공
. 한편, `접근 제한 수식자` 이란? ☞ 접근 제한 수식자 참조
.. 메소드나 프로퍼티 앞에 붙여, 다른 객체에게 이를 어느 정도 노출시키는 정도로써,
보호수준을 결정하는 제한자
- 내부 데이터를 캡슐화시켜 변경을 어렵게하고 보호함
. 이를 `정보 은닉(Information Hiding)`이라고도 함