추상화(abstraction) - 상세한 수준의 구현 고민이 아닌, 상위수준에서 제품의 구현을 먼저 생각하는것(필수적인 것만). - data 추상화, control 추상화, procedure 추상화로 나뉨. - 시스템을 분할하여 컴포넌트가 어떻게 상호작용 하는지, 컴포넌트의 구현 방법을 생략하고, 외부 인터페이스에 초점을 맞추는 것이 추상화의 개념 - ex) print()라는 함수가 있을 때, print함수의 내부 구조 및 내부적인 동작과정을 생각하지 않고, print()함수가 "출력함수이다" 라고 이해하는 것. 정보은닉(information hiding) - 각 모듈의 내부 내용을 감추고, 인터페이스를 통해서 메세지를 전달할 수 있도록 하는 개념 - 내부 정보 접근을 제한하여 한 모듈이 다른 모듈의 구..