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. 단편화, 재조립  


"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"