기본 개념은 ‘실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다.
객체지향이론은 상속, 캡슐화, 추상화 개념을 중심으로 점차 구체적으로 발전.
코드 간에 서로 관계를 맺어 줌으로써 보다 유기적으로 프로그램을 구성.
특징으로는
새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성.
코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다.
제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며,
코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지할 수 있다.
가장 큰 장점은 ‘코드의 재사용성이 높고 유지보수가 용이하다.’
프로그램 개발과 유지보수에 드는 시간과 비용을 획기적으로 개선.
재사용성과 유지보수 그리고 중복된 코드의 제거, 이 세 가지 관점에서 보자.