본문/내용
1. 객체지향 프로그래밍과 절차지향 프로그래밍의 차이점에 대해 설명하세요.
객체지향 프로그래밍과 절차지향 프로그래밍은 프로그램 구조와 설계 방식에 있어 근본적인 차이가 있습니다. 절차지향 프로그래밍은 순차적 실행과 함수 중심으로 코드가 구성되며, 함수는 데이터와 별개로 취급됩니다. 이 방식은 1960~1980년대 초반에 인기가 있었으며, 간단한 문제 해결에는 적합하지만 유지보수와 확장성이 떨어집니다. 예를 들어, 2000년대 초반의 간단한 계산 프로그램은 절차지향으로 빠르게 개발했지만, 규모가 커질수록 복잡도 관리가 어려워졌습니다. 반면, 객체지향 프로그래밍은 데이터를 객체로 묶어 행동(메서드)과 함께 캡슐화하며, 재사용성과 유지보수성을 높입니다. 실제 자동차 소프트웨어 개발에서는 각각의 부품을 객체로 설계하여, 부품 교체 시 전체 시스템 수정 없이 교체 가능하게 만드는데, 이 방법이 성능 향상과 코드 재사용률을 30% 이상 높여줍니다. 객체지향은 상속, 다형성 등으로 복잡한 시스템도 효과적으로 관리할 수 있어, 현대 소프트웨어의 대규모 개발에 필수적입니다. 따라서 절차지향은 단순한 프로그램에 적합하고, 객체지향은 복…