혼자 수많은 일을 똿 끝내는 존나복잡한 magic function 같은것들은 유지보수가 거의 불가능하기 때문에 독립적인 기능을 하는 서로 전혀 무관(할수록 관리하기 좋음)한 무언가를 만들어서 그것들이 서로 대화하듯이 조합해 큰 프로그램을 조립하자는건데 그 무언가를 oop는 \'객체\'라 하는거고

자바같은경우는 보일러플레이트들도 너무 많고 verbose함
게다가 그놈의 좆같은 상속때문에 외워야할 인터페이스나 부모함수가 개같이 많은데(이를테면 swift의 didViewLoad 같은거) 그런게 어떻게 작동하는지를 정확히 모르면 코딩자체가 거의 불가능

물론 저건 앱이라는 특성상 페이지마다 수명주기를 구현해야하기 때문에 어쩔수 없는 부분도 있지만 웹을 생각해보면 꼭 그런것도 아님
그냥 사전지식이 필요없이 평범한 mvc(or mvvm) 패턴으로 다 해결되어야 정상이라 생각함

이 때문에 안드로이드 iOS처럼 클래스 기반 언어들을 필요로하는 개발은 단기간에 배우는게 거의 불가능하고 경험이나 학습이 진짜 너무 심하게 많이 요구됨

클래스 없이도 다형성은 충분히 구현가능하고 차라리 자바스크립트나 go같은 프로토타입기반 언어들이 명료하고 깔끔하다고 느낌

난 내장함수나 built-in interface는 가급적 적은게 좋다고 생각함