「can」と「may」の違いは、その「根拠」が異なるという点です。「可能性」と「推量」という言葉は、その違いを説明したものです。
具体例で説明します。
「can」(可能性):「He can be late.」(彼は遅れることがあり得る)。これは「彼の性質上、遅れる可能性がある」という「論理的・客観的な根拠」に基づいています。つまり「彼は遅刻する傾向があるから」という理由での推測です。
「may」(推量):「He may be late.」(彼は遅れるかもしれない)。これは「具体的な状況から判断して、遅れる可能性がある」という「状況的な推測」です。例えば「電車が遅れているから」「渋滞があるから」という現在の状況から「もしかして遅れるかもしれない」と推測しているわけです。
つまり両者の違いは以下の通りです。
「can」=その物事が「論理的に起こり得るか」という可能性。
「may」=現在の状況や情報から「起こるかもしれない」という推測。
日本語では「可能性」と「推量」という違う言葉で説明されていますが、実は「根拠が何なのか」という違いなんです。
実用的には「can」は「一般的な可能性」、「may」は「今この瞬間の状況判断」という感覚で使い分けると、理解しやすいですよ。