他の言語から来たんだけど「全てがクラスに属する」ことに違和感を感じる
PythonやC++だとフリー関数 (どのクラスにも属さない関数) を作れるけど、C#だと必ずクラスに属するよね
これは言語の思想的に何かしらの意図があるの?

例えば「型Aのインスタンスと型Bのインスタンスを受け取って型Cを返す」処理を書く場合に、C++だといずれのクラスとも無関係な関数という形をとれるけど、C#だと「これはクラスAの責務」のように決める必要がある感じがして、これが慣れない

単に慣れの問題なのか、それともOOPの考え方を理解してしきれてないのか
もし過去に同じような疑問を持って、かつ「現在は腑に落ちた」といった人がいれば、考え方のアドバイスが欲しい