팀 프로젝트를 진행하면서 작성한 내 코드가
너무 객체지향적 코드와는 멀고 절차지향적 코딩이 드러나는 부분이었다.
현재 나는 절차지향 코딩에서 객체지향 코딩으로 가는 중간단계가 생략된 느낌이다.
대학에서도 알려주지 않았고 관련 강의도 들어본 기회가 없었던 것 같다.
어느 날 커리어리에서 한 글을 보았다
객체지향 코드를 작봤절차지향적 코드를 위해 조건문(if)를 피하고
객체지향적으로 코드를 리팩토링 해가는 흐름을 실제 코드 기반으로 소개해주는 글이다.
관심사와 책임을 기반으로 클래스를 분리하고
이를 효율적으로 리팩토링 함으로써
이후 추가저인 기능 확장에도 유연한 상태를 유지가 가능했다/
메소드를 추출하고 추상화 하는 과정에서
Simple Factory를 사용하거나
Enum을 활용하는 방식,
나아가 DB와 결합하여 변화에 따른 유연함을 가져갈 수 있는 작성법이다.
해당 글을 읽는데에 꽤나 오랜 시간이 걸렸다.
객체 지향 코딩에 막히면 다시 생각나서 또 한번 읽어 볼 것 같다.