OOP 과연 좋은 것 일까?
Medium을 둘러보다 “Goodbye, Object Oriented Programming” 이라는 제목이 눈에 띄어 보게 되었다.
“Banana Money Jungle Problem” 말 그대로 내가 원한건 바나나 였는데 실제로 얻은 것은 바나나를 쥔 고릴라와 정글이었다는 말에 깊은 공감이 되었다.
몇 년간 Python을 쓰면서 OOP가 무조건 좋은 줄 알았는데, 최근 1-2년간 그렇지 않았던 경험을 했었던 것 같다.
예-전에 만들어둔 class로 새로운 프로젝트를 시작하려고 보니 그 class는 다른 parent class를 상속받고있고, 또 parent’s parent class를 상속받고 있는 이런 hierarchical 한 OOP구조는 정말 말 그대로 바나나 얻으려다가 정글을 얻어버리는 샘이 되곤한다.
OOP의 장점 중 하나로 “Reusable”을 꼽는데, “Resuable”을 위해서 쓸없는 Inheritance를 만들어 버린 꼴이다. 과연 이렇게 하는 것이 맞는건가?