쉽게 이해하기 위해서 다른 방법인 "절차 지향 프로그래밍" 과
비교를 해보겠답.
초기에 모든 프로그래밍 방법은 "절차 지향 프로그래밍" 으로 부터
시작되었다
절차 지향 프로그래밍은 순서가 중요하여 프로그래밍을 순서대로
진행해야됬다.
🚗자동차 프로그램을 만들어보자!
자동차를 만들기 위해서 엔진,차체,핸들,바퀴,의자 등등
필요하다고 할때, 절차 지향적 관점으로 본다면 자동차를 만들기
위해서는 처음 부터 순서대로 만들어야 된다
엔진 -> 차체 -> 핸들 -> 바퀴 -> 의자 -> 등등
이런 식으로 만들어가야하며, 서로 분리도 안되고 순서가 틀려도 안되며,
하나가 잘못되면 전체가 고장나게 되는 구조이다.
그렇기에 부품이 많아지고 복잡해지면,
순서도로 나타내는 것이 불가능할 정도로 꼬인
🍝"스파게티 코드"🍝가 되어버린다.
즉, 전부 연결되어있으니 어디에 사용되는 코드고 어디까지 이어지고,
어디로 연결되어 있느냐 등 파악이 어려워 가독성이 떨어진다.
💡 따라서 선조 프로그래머들은 이를 해결하기 위한 대책을 생각한다.
"기능별로 나눠서 따로 개발하고 합치면 편하지 않을까?"
그렇게 등장한 방법이 "객체 지향 프로그래밍" 이다
객체 지향적 관점으로 본다면 자동차를 기능별로 나눠,
"객체 (Object)"에 담아 부품을 따로 따로 제작을 하게 된다.
그 후, 마치 레고 블록을 조립하듯 기능을 하나씩 조립하여 프로그램을 완성한다