개발자가 반드시 정복해야 할 객체 지향과 디자인 패턴 2장
Chapter 02 객체 지향
1 절차 지향과 객체 지향
1.1 절차 지향(Procedural Oriented)
- 프로시저(procedure)로 프로그램을 구성하는 기법
- 데이터 중심으로 구현하게 된다.
- 각 프로시저는 데이터를 사용해서 기능을 구현하며, 필요에 따라 다른 프로시저를 사용하기도 한다.
- 여러 프로시저가 동일한 데이터를 공유한다.
데이터 종류가 증가하고 이를 사용하는 프로시저가 증가할 경우 발생하는 문제점
- 데이터 타입이나 의미를 변경해야 할 때, 함께 수정해야 하는 프로시저가 증가한다.
- 같은 데이터를 프로시저들이 서로 다른 의미로 사용하는 경우가 발생한다.
새로운 요구 사항이 생겨서 수정하면, 다른 곳에서 문제가 발생하는 악순환이 발생하기도 한다. 이는 코드의 수정을 어렵게 만들고 새로운 기능을 추가하는데 많은 구현 시간(개발 비용)을 투입하게 만든다.