객체지향이라는 게 굉장히 엄밀하게 제약하는 게 많은 프로그래밍 방법론이라는 생각이 듦.
대규모 프로그램 + 대용량 데이터를 다룸에 있어서 데이터의 무결성을 보장하기 위해 부단한 노력을 많이 했다는 게 느껴짐.
파이썬은 나름 할 줄 아는데 자바 배우면서 객체지향 프로그래밍에 깊게 들어가니까 왜 이런 철학이 도입되었는지 이해가 감.
백엔드 언어는 확실히 타입이 엄격한 언어로 써야하는 이유가 있는 것 같음.
글구 객체지향을 제대로 이해하려면 자바나 C# 같은 순수 객체지향 언어를 배워야 하는 게 맞는 것 같고.
파이썬으로 Class나 좀 끄적여 본 수준으로는 제대로 된 객체지향을 구현하지 못한다고 생각함.
또 웹 개발에서 JS 대신 TS의 인기가 올라가는 것도, 그리고 JS에서 함수형 프로그래밍이 뜨는 것도
JS가 가진 한계인 약타입 + 어설픈 객체지향 흉내를 타개하기 위해서라는 생각이 듦.
객체지향이 주류가 된 이유가 있음. 데이터의 무결성을 보장하면서 유지보수의 편의성을 모두 잡는 방식임. 최근엔 함수형 프로그래밍이 뜨고 있기는 한데, 멀티 스레딩 + 멀티 프로세싱에 강점이 있긴 하지만 유지보수의 측면에서 본다면 객체지향의 틀 안에서 함수형이 쓰이는 게 더 좋다고 봄.