特定か非特定か
a は名詞を特定しなくてよいとき、the は名詞を特定したいときに使います。
例えば、I ate an apple. も I ate the apple. も「私はりんごを食べた」と訳すことができます。しかし、これを言っている人が何を伝えたいのかは全然違います。
前者は「どんなりんごかは特定する必要はないのだけれど、私はりんごというものを食べた」ということを言いたいだけにすぎません。
一方、後者は例えば「私は台所のベンチに置いてあったあのりんごを食べた」というような状況が考えられます。その人の頭の中にはどのりんごのことなのかはっきりしています。
日本語は曖昧な言語
もし「私はりんごを食べた」を英訳する問題が出た場合、an apple でも the apple でも正しいです。
なぜならこれを言った人はどういう気持ちでこれを言ったのかが「私はりんごを食べた」だけではわからないからです。
そういう意味では、英語と比べて日本語は曖昧な言語といえるでしょう。
same は常に the same

「私たちは同じクラスです」は英語で We are in a same class. それとも We are in the same class. どっちかな?
英語が母語でない場合、ルールで覚えてしまうほうが早いことがあり、same はその一つです。same は the same で使われることがほとんどですので、そのように覚えてしまいましょう。
「私たちは同じクラスだ」と英語で言いたいとき We are in the same class. となります。
考え方としては「同じクラス」というとき、話題にあがっているその「私たちが一緒になった同じクラス」はどのクラスなのか特定できます。だから the same になります。
世の中に一つだけ
the は特定できる名詞の前に置かれるのですが、それはつまり、その名詞が世の中に一つだけしかない物だということなのです。
「同じクラス」も前述した「台所のベンチのりんご」も、話者からしてみれば世界でそれ一つしかありませんからそれぞれ the same class, the apple になります。また、月や太陽も世の中に一つだけですので、それぞれ the moon, the sun となります。