Encapsulation, Encapsulating   캡슐화

(2023-12-23)

인캡슐레이션


1. [ 통신분야 ]통신분야에서의 캡슐화
     - OSI 계층모델에서 사용자 데이타가 각 계층을 지나면서, 
     - 하위 계층은 상위 계층으로부터 온 정보데이터로 취급하며,
     - 자신의 계층 특성을 담은 제어정보(주소,에러제어 등)를 헤더화시켜,
     - 이를 붙이는(포장하는) 일련의 과정

  ㅇ 통신계층의 각 계층에서 캡슐화하는 과정에 대한 설명 例
     - OSI의 7 계층모델에서 정보가 응용계층으로부터 물리계층까지 전달될 때, 
     - 각 계층은 특정제어정보(주로 Header)를 추가 (캡슐화)
       

     - 각 과정의 例)
        . 표현계층전송비트 수의 감소를 위해 압축 알고리즘을 사용했다고 표시하는 등
        . 세션계층세션 구별번호의 추가 등
        . 트랜스포트계층패킷 순서번호의 추가 등
        . 네트워크계층은 송수신 주소,가상회선 번호를 추가할 수 있는 등
        . 데이타링크계층프레임 순서번호의 추가 등
        . 물리계층에러 제어 비트를 추가하는 등

     - 위의 역 과정
        . 이와같이 각 계층에서 추가된 특정한 프로토콜 제어 정보(PCI,헤더)들을
        . 통신의 상대측에서는 위의 역순으로 제거하면서 응용계층까지 도달

  ※ [참고] ☞ IP 데이터그램 캡슐화터널링 (Tunneling)
     - 이때의 캡슐화는,
     - 어떤 네트워크 형태에 맞는 프레임을 다른 형태의 네트워크 프레임 안에 수납시키는 것을 의미


2. [ 전산분야 ]

  ㅇ 캡슐화
     - 여러 요소들을 하나의 단위로 묶어주는 것 이상으로,
     - `외부에 대한 가시적인 부분`과 `내부 및 구현에 관계되는 세부적인 사항`을
       분리하는 모델링 및 구현기법

     - 즉,
        . ① 복잡하고 불필요한 부분 등을 사용자에게 안보이게 하고, 
           .. (Mechanism of Enforcing Information Hiding)
        . ② 외부세계와 인터페이스를 잘 할 수 있도록 표준화시킨 포장이 되도록 함
           .. 객체를 잘 사용키 위해, 내부 상세 구현사항을 숨긴채,
           .. 인터페이스를 통해 객체를 사용토록, 캡슐화하는 것

  ㅇ OOP(객체지향 프로그래밍)에서, 캡슐화의 주요 특징으로는,

     - 데이터(변수) 및 함수(처리방법,메소드)를 논리적으로 하나로 묶어놓음

        . 한편, `클래스`화는 캡슐화를 지원하는 도구인 셈               ☞ 클래스 참조
           .. 클래스변수들은 메소드를 통해서 만 변경시키게 함
           .. 기존 메소드가 동일 기능을 수행하되, 효율적 개선이 가능토록 변경도 가능 함

     - 임의의 객체 요소에의 접근을 제한하는 방법을 제공

        . 한편, `접근 제한 수식자` 이란?                            ☞ 접근 제한 수식자 참조
           .. 메소드프로퍼티 앞에 붙여, 다른 객체에게 이를 어느 정도 노출시키는 정도로써,
              보호수준을 결정하는 제한자

     - 내부 데이터를 캡슐화시켜 변경을 어렵게하고 보호함
        . 이를 `정보 은닉(Information Hiding)`이라고도 함

객체지향 원리/특징
   1. 캡슐화   2. 상속성   3. 다형성   4. (동적)바인딩   5. 정보은닉  
프로토콜 기능
   1. 에러제어   2. 캡슐화   3. 순서제어   4. 흐름제어   5. 동기화   6. 주소지정   7. 단편화, 재조립  


Copyrightⓒ written by 차재복 (Cha Jae Bok)       기술용어해설 소액 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"