본문/내용
I. 서론
처음 ‘객체지향 프로그램’이라는 말을 들었을 때, 그것은 단순히 컴퓨터 공학 전공자들만의 어려운 학문적 용어라고 생각했던 기억이 있다. 하지만 스마트폰 속 앱 하나, 은행에서 사용하는 전산 시스템 하나까지도 모두 객체지향의 원리를 기반으로 만들어져 있다는 사실을 알게 되었을 때, 나는 이 개념이 결코 멀리 떨어진 이야기가 아니라는 것을 깨닫게 되었다. 일상 속에서 우리는 수많은 프로그램과 서비스를 사용한다. 음식 배달 애플리케이션을 켜면 주문, 결제, 배달 추적이 한 번에 이뤄지고, 인터넷 뱅킹을 이용하면 계좌 조회와 송금, 대출까지 손쉽게 처리된다. 그런데 이러한 복잡한 기능들이 어떻게 체계적으로 작동하는지 의문을 가졌을 때, 그 답 중 하나가 바로 객체지향에 있었다.
과거 프로그래밍은 절차지향적이었다. 즉, 위에서 아래로 차례대로 실행되는 절차의 흐름이 중심이 되었고, 프로그램은 일종의 긴 ‘작업 지시서’ 같은 느낌을 주었다. 그러나 프로그램이 복잡해지고, 사람들의 요구가 다양해지면서 절차지향은 유지보수와 확장성에서 한계를 드러내게 되었다. 내가 대학에서 처음 C 언어를 접했을 때, 간단한 계산 프로그…