しつもん

クラス作る時に
def self.new()
~処理~
end
でnew()をオーバーライドするのと、
def initialize()
~処理~
end
でコンストラクタ呼び出すのって何か違いがあるのですか?

色々とコードを弄ってたらどちらでも書けなくないな〜とか思ったんですが、
何か明確な違いあるのでしたら教えていただけると嬉しいです。