オブジェクト指向のプログラミングでは、慣習性は基本的な概念ではありません。オブジェクトメソッドは、特定の入力セットを考慮して予測可能な出力を持つ場合がありますが、入力が同じ結果を生成する場合と生成できない場合がある場合に出力を送信します。オブジェクトの状態が呼び出しの合間に変更されたかどうかに依存します。

機能的なプログラミングでは、慣習性は基本的な概念です。純粋な関数は、何回呼び出されても、同じ入力を考慮して、常に同じ出力を生成します。副作用はないため、出力に影響を与える可能性のある隠された状態はありません。

要するに、純粋な機能と副作用の欠如に焦点を当てている機能的プログラミングは、等式を達成するのを容易にしますが、オブジェクト指向のプログラミングがステートフルなオブジェクトに依存しているため、それがより困難になります。
In object-oriented programming, idempotency is not a fundamental concept. While an object method may have a predictable output given a specific set of inputs, feeding its output as input may or may not produce the same result. It depends on whether the object's state has changed in between calls.

In functional programming, idempotency is a fundamental concept. Pure functions always produce the same output given the same input, no matter how many times they are called. They do not have side effects, so there is no hidden state that could affect the output.

So, in short, functional programming's focus on pure functions and lack of side effects make it easier to achieve idempotency, while object-oriented programming's reliance on stateful objects makes it more difficult.