객체 지향 [절차 지향 👉 전부 함수로 코드를 짠다.] 유지 보수가 힘들다. 프로그램 규모가 커지면 복잡해진다. 함수 호출 순서에 종속적이기 때문에 유지 보수가 힘들다. 호출 순서 타고타고 올라가 보며 코드를 읽어보아야 해서 불편하다. 함수를 계속 새로 만들고 만들고 해야해서 복잡하다. 같은 Fight 이라도 플레이어 vs 플레이어, 보스 vs 플레이어 등등 많은 버전이 있어야 하므로 오버로딩을 많이 해야 해서 복잡해진다. [객체 지향 👉 모든 것을 객체 위주로 생각한다.] 속성(멤버 변수)와 기능(멤버 함수)로 나뉜다. ‘플레이어’의 이름, 공격력, HP, 직업 같은 속성들과 Fight 같은 기능을 추상화 하여 Player라는 이름의 클래스로 묶는다. 이 클래스(붕어빵틀, 설계도)를 가지고 세상에 존재..