객체지향을 이해하려면 객체지향 프로그래밍에 대해 설명해보라 하면 대부분 말문이 막힐 것이다. 그나마 대답한다고 하면, '어... 실세계의 사물 개념을 고대로 옮겨서 프로그래밍하는 방식..?' 이라고 대답할 것이다. 객체지향 프로그래밍의 개념을 이해하려면, 무작정 OOP 가 어떤 것이다 하고 외우기보단 등장 배경에 대해 알 필요가 있다. 따라서 객체지향 프로그래밍이 등장하기 이전의 프로그래밍 패러다임을 몇 가지 알아보자. 순차적 (비구조적) 프로그래밍 정의한 기능의 흐름에 따라 순서대로 동작을 추가하며 프로그램을 완성하는 방식이다. 간단한 프로그램의 경우, 이렇게 코드를 짜게 되면 흐름이 눈으로 보이기 때문에 매우 직관적일 것이다. 그러나, 조금이라도 프로그램의 규모가 커지게 되면 곤란해진다. 만일 A →..