정보은닉 편집하기
최신판 | 당신의 편집 | ||
14번째 줄: | 14번째 줄: | ||
정보은닉(Information hiding)과 캡슐화(Encapsulation)는 개념에 유사한 부분이 많긴하지만 다른 개념이다. 캡슐화는 데이터를 공용 메소드를 통해서만 접근할 수 있도록 허용하는 방법이다. 데이터 캡슐화라고도 하는데 정보 은닉은 데이터 캡슐화가 아닌 외부에 감춰야하는 비밀에 따라 시스템을 분할하는 모듈 분할의 원리이다. 모듈은 변경될 가능성이 있는 비밀을 내부로 감추고 잘 정의되고 쉽게 변경되지않는 공용 인터페이스를 외부에 제공하여 내부의 비밀에 함부로 접근할 수 없도록 하는 것이다. <ref name="egloos"></ref> 캡슐화는 관련된 요소들을 묶음으로써 캡슐 내부와 외부를 구별 짓기 때문에 캡슐 내에 속한 부분과 캡슐 외에 속한 부분들에 대해 구분이 명확하게 되있다. 즉, 특정 객체 속에 있는 데이터와 함수들을 다른 객체 속에 있는 데이터와 함수들과 구별이 이뤄진다는 의미이다. 하지만 정보은닉은 캡슐 내의 요소들에 대한 세부 구현사항들을 외부로부터 숨기는 것이다. 즉, 캡슐화가 되어있는 데이터와 함수에 대해서 외부에 해당 함수가 어떻게 구현되어 있는지에 대한 세부 사항을 숨기는 것이다. 정보은닉의 개념이 캡슐화 개념안에 포함되긴 하지만, 캡슐화가 되어있다고 해서 반드시 정보은닉이 되는 것은 아니다. <ref name="살수다">〈[https://frontierdev.tistory.com/93 캡슐화와 정보은닉]〉, 《개인사이트》, 2018-04-13</ref> | 정보은닉(Information hiding)과 캡슐화(Encapsulation)는 개념에 유사한 부분이 많긴하지만 다른 개념이다. 캡슐화는 데이터를 공용 메소드를 통해서만 접근할 수 있도록 허용하는 방법이다. 데이터 캡슐화라고도 하는데 정보 은닉은 데이터 캡슐화가 아닌 외부에 감춰야하는 비밀에 따라 시스템을 분할하는 모듈 분할의 원리이다. 모듈은 변경될 가능성이 있는 비밀을 내부로 감추고 잘 정의되고 쉽게 변경되지않는 공용 인터페이스를 외부에 제공하여 내부의 비밀에 함부로 접근할 수 없도록 하는 것이다. <ref name="egloos"></ref> 캡슐화는 관련된 요소들을 묶음으로써 캡슐 내부와 외부를 구별 짓기 때문에 캡슐 내에 속한 부분과 캡슐 외에 속한 부분들에 대해 구분이 명확하게 되있다. 즉, 특정 객체 속에 있는 데이터와 함수들을 다른 객체 속에 있는 데이터와 함수들과 구별이 이뤄진다는 의미이다. 하지만 정보은닉은 캡슐 내의 요소들에 대한 세부 구현사항들을 외부로부터 숨기는 것이다. 즉, 캡슐화가 되어있는 데이터와 함수에 대해서 외부에 해당 함수가 어떻게 구현되어 있는지에 대한 세부 사항을 숨기는 것이다. 정보은닉의 개념이 캡슐화 개념안에 포함되긴 하지만, 캡슐화가 되어있다고 해서 반드시 정보은닉이 되는 것은 아니다. <ref name="살수다">〈[https://frontierdev.tistory.com/93 캡슐화와 정보은닉]〉, 《개인사이트》, 2018-04-13</ref> | ||
− | :{| | + | :{| cellpadding="10" cellspacing="0" border="1"" |
|+ < 정보은닉 vs 캡슐화 > | |+ < 정보은닉 vs 캡슐화 > | ||
!width ="80px"|\ | !width ="80px"|\ |