객체지향 프로그래밍은 추상화, 캡슐화, 상속성, 다형성 등의 특징을 지니고 있으며, 이러한 특성들은 크고 복잡한 프로그램을 보다 쉽게 관리하고 확장할 수 있도록 돕습니다. 절차형 언어의 문제점 중 하나는 코드의 재사용성과 유지보수성이 떨어진다는 점인데, 객체지향 프로그래밍은 이를 해결하기 위해 개발된 기법입니다. 이 기법을 통해 프로그램의 각 부분을 객체 단위로 나누어 처리함으로써 코드의 재사용성을 높이고, 유지보수를 용이하게 합니다. 따라서 보기 2의 객체지향 프로그래밍이 정답입니다.