객체지향프로그래밍이란 프로그램 설계방법론이다. 코드를 작성하는 방식이자 방법론인 것이다. 객체지햔 언어로는 C#, Java등이 있고, Javascript, Python과 같은 객체지향이 아닌 프로그래밍 언어도 객체지향 방식을 지원한다.
OOP는 다음의 4가지 특징을 가지고 있다.