로직을 상태(State)와 행위(Behave)로 구성하여 이를 하나의 객체(변수 + 메소드)라는 단위로 프로그래밍하는 패러다임.
- 추상화
- 부품화 : 소프트웨어를 객체 단위로 구성하여 어느 하나의 기능에 해당하는 객체를 구현 Javascript에서는 Object
- 정보 은닉, 캡슐화 : 객체는 이러한 특성들을 갖는다.
- 인터페이스 : 각각의 부품을 연결하기 위한 연결점. 이러한 연결점에는 항상 표준이 있다.
- Javascript는 Prototype-based Programming