개발자가 반드시 정복해야 할 객체 지향과 디자인 패턴 2장

Chapter 02 객체 지향

1 절차 지향과 객체 지향

1.1 절차 지향(Procedural Oriented)

  • 프로시저(procedure)로 프로그램을 구성하는 기법
  • 데이터 중심으로 구현하게 된다.
  • 각 프로시저는 데이터를 사용해서 기능을 구현하며, 필요에 따라 다른 프로시저를 사용하기도 한다.
  • 여러 프로시저가 동일한 데이터를 공유한다.

데이터 종류가 증가하고 이를 사용하는 프로시저가 증가할 경우 발생하는 문제점

  1. 데이터 타입이나 의미를 변경해야 할 때, 함께 수정해야 하는 프로시저가 증가한다.
  2. 같은 데이터를 프로시저들이 서로 다른 의미로 사용하는 경우가 발생한다.

:bulb: 새로운 요구 사항이 생겨서 수정하면, 다른 곳에서 문제가 발생하는 악순환이 발생하기도 한다. 이는 코드의 수정을 어렵게 만들고 새로운 기능을 추가하는데 많은 구현 시간(개발 비용)을 투입하게 만든다.