OOP의 가장 큰 문제인 상속 남용과 상속으로 인한 유연성 저하
그리고 다형성의 남용으로 인한 객체 추상화로 인해서 코드 자체가 복잡해진다는데
애초에 저걸 무시하고 simple 하게 짤 수 있는 사람이면
애초에 OOP를 잘 알고 있는 사람이니까
애초에 OOP의 가장 큰 문제점이 일반적으로 다형성의 남용이라고 하는데 그걸 감안해도 결국 주류인 이유가 있음
절대 다수는 저런 규칙이 없으면 일반적으로 simple하게 짤 수 없으니까 아이러니하게 OOP를 통해서 코드 틀을 맞추는 작업을 해야 나중에는 틀을 벗어난다고 하는게 대부분이니까
그래서 저런 문제점을 벗어나기 위해서 언어차원에서 FP를 적용해서 멀티 패러다임하게 하는 언어가 대다수고.
oop라서 인기 있는게 아니야 cpp는 c보다 편하면서 c만큼 빠르니까 게임쪽이나 제어쪽에 쓰는거야 java는 그냥 그게 웹이나 안드로이드 업계 표준이 되서 쓰는거고 c#도 제어쪽에 표준되서 쓰는거야 oop가 좋아서 그렇다는건 착각임 뜨고있고 이미 주류에 편입된 nodejs python go 는 oop언어가 아님 oop가 가능할지라도 그렇게 보통 안씀
CPP는 애초에 OOP 지향이 아니라고해도 다중 멀티 패러다임 언어들이 많은게 파이썬도 OOP 지ㅏ원함. 애초에 요즘은 한 지향만 쓰는 언어가 적고, 기본적으로 OOP가 교육하기 훨 쉬우니까. 당장 OOP가 전반적으로 구리니 아니니 하지만 결국 쓰이는건 많은 자료가 있기때문에 쓰인다는 사실 자만으로 인기 있다라고 볼 수 있다 생각함
당장 게임 엔진 대부분이 여전히 OOP고 웹도 결국 표준이고, OOP의 문제점이 있고 지향적으로 문제가 있는 부분이 있다라는 건 동의할 수 있지만 OOP가 쉽기때문에 많은 사람에게 인기 있다는 명제 자체는 깔고 가야한다고 본다
OOP가 '좋아서' 라기 보다는 지향 자체가 생산성이 높고 교육이 편하기때문에 참고 자료가 많아서 '인기 있다'라는 대전제는 유효하다 생각함
ㅇㅈ