Scott, Michael Lee (2006). Programming language pragmatics (2 ed.). Morgan Kaufmann. p. 481. ISBN 978-0-12-633951-2. wrote:
Encapsulation mechanisms enable the programmer to group data and the subroutines that operate on them together in one place, and to hide irrelevant details from the users of an abstraction.
개인의 역량과 상황에 따라 조금씩 다르지만, 대체로 C/C++로 천 줄 내외의 프로그램이라면 손 가는 대로 아무렇게나 짜도 프로그램을 완성하고 유지보수하는 데 큰 문제가 없을 수 있습니다. 데이터와 데이터를 다루는 서브루틴들이 흩어져 있고, 구현 세부 사항과 인터페이스가 뚜렷히 구분되지 않았더라도 그냥 코드 전체를 통째로 읽고 이해하고 다루는 데 큰 무리가 없지요.
프로그램의 규모가 최소 수천 줄에서 만 줄 정도를 넘어가기 시작하면 OOP 원칙들의 필요성이 절감될 겁니다.
Scott, Michael Lee (2006).
개인의 역량과 상황에 따라 조금씩 다르지만, 대체로 C/C++로 천 줄 내외의 프로그램이라면 손 가는 대로 아무렇게나 짜도 프로그램을 완성하고 유지보수하는 데 큰 문제가 없을 수 있습니다. 데이터와 데이터를 다루는 서브루틴들이 흩어져 있고, 구현 세부 사항과 인터페이스가 뚜렷히 구분되지 않았더라도 그냥 코드 전체를 통째로 읽고 이해하고 다루는 데 큰 무리가 없지요.
프로그램의 규모가 최소 수천 줄에서 만 줄 정도를 넘어가기 시작하면 OOP 원칙들의 필요성이 절감될 겁니다.
앗 답변감사합니다...
아직 처음이다보니.. 달아주신 답변처럼..큰 문제가 없었습니다..흑흑
쉽게 말하자면 "캡슐"로 격리시키는겁니다. 격리된
쉽게 말하자면 "캡슐"로 격리시키는겁니다. 격리된 내부는 모든 것을 자유롭게 접근하고 공유하고 조작할 수 있지만, 외부에서는 직접 조작할 수 없고. 조작할려면 반드시 정해진 I/F를 경유해서만 하도록 합니다.
이게 왜좋냐면 하면 문제 생겼을 때 전체를 볼 필요가 없죠.
문제 생긴 클래스만 조사하면 다 해결됩니다. 여러 클래스가 문제 생겼다면 통으로 볼 필요 없이 각개격파가 가능해집니다.
Written By the Black Knight of Destruction
댓글 달기