https://rinae.dev/posts/the-faster-you-unlearn-oop-the-better-for-you-and-your-software-kr
위는 번역글
이건 저자 블로그
oop를 통하면 필요이상으로 복잡해지고 의도한 효과는 거의 없고 경직된 구조를 강요시킨다는 글
특히 본문에 있는 말중에
당신은 바나나를 원했지만 실제로는 바나나를 들고 있는 고릴라와 정글 전체를 얻고 말았다.
라는 문장이 꽤 그럴듯하고 와닿는거 같음. 나도 하다보면 작은것들도 엄청 복잡해지는 경우가 많아서...
그리고 저자는 해결책은 크게 제시한거같진 않은데 저자 블로그를 보니까 러스트 ㅈㄴ 좋아하시는분인가봄. 답은 함수형프로그래밍인가....
쨌든 님들 생각은 어떰???? 인정?
C#빨때는 oop가 채곤줄 알았는데 함수형 맛보니까 함수로 들볶는게 제일 유연하고 재사용하기 좋았음
oop 언어들은 추상화를 부모클래스랑 인터페이스갖고 하니까 노답인듯
뭐라고 해야하지 그냥 다 스까서 적절하게 적재적소에 사용하는게 좋다고 봄. 전반적인 인터페이스는 OOP 를 따르지만, 세부적인거에서 데이터 드리븐을 한다던가, 아님 함수형으로 한다던가, 이벤트 지향 (커맨드 풀 + 커맨드 풀링)을 스까 쓴다던가...
OOP의 문제에 대해선 공감을 하지만 그렇다고 OOP를 지양해야한다는 점에서는 비공감임. 실제로 저 article에서도 대안을 제대로 제시하지 못하고있고 언급한 문제들은 대부분 코드 규모를 예로 들고 있지 그걸 OOP 자체가 나쁜 방법론이다 라고 귀결 짓지는 못하고 있는듯
그리고 Player Monster 로 예를 든 문제는 나도 직접 고민했던 문제인데 이는 같은 결과를 도출하기 위한 방법이 여러가지이기 때문에 그 중 어떤 방법을 택할까의 '고민'이지, '문제'는 아니라고 생각함. 여러 방법 중 하나의 규칙을 정하고, 그걸 따르게 하면 됨