객체 지향, 절차 지향, 함수형의 프로그래밍 패러다임은 서로 대치되는 개념이 아니다
세상의 모든 사물을 추상화하면
속성(데이터)과 기능(함수) 2가지로 설명할 수 있다
모든 사물을 속성과 기능을 가진 객체로 생각하여 추상화 하고
컴퓨터 프로그래밍으로 쉽게 설계할 수 있다
실 세계와 객체가 항상 1:1 매칭되는 것은 아니다
캡슐화, 상속, 다형성, 추상화, 메시지 등 다양한 특징이 있다
객체의 속성과 기능을 하나로 묶어서
필요한 기능만을 외부로 제공하는 것을 캡슐화라고 한다
결합도를 줄이고 응집도를 높이고..