객체 지향 프로그래밍(Object-Oriented Programming, OOP)이란, 프로그램을 객체의 모임으로 구성하여 객체 간 상호작용을 통해 개발하고 구현하는 방법론 중 하나이다. 주요 언어로는 Java, C++, Python, Ruby 등이 있다. 절차 지향 프로그래밍과 반대된다. 객체 지향 프로그래밍의 장점으로는 소프트웨어의 재사용 및 확장이 용이하여 고품질의 소프트웨어를 빠르게 개발할 수 있고 유지보수가 쉽다. 복잡한 구조를 단계적·계층적으로 표현하고, 멀티미디어 데이터 및 병렬 처리를 지원한다. 현실 세계를 모형화하므로 사용자와 개발자가 쉽게 이해할 수 있다. 객체 지향 프로그래밍의 특징으로는 캡슐화(Encapsulation), 상속(Inheritance), 다형성(Polymorphism)..