私ども「吉祥寺MCS英会話スクール」のシニアクラスでたびたび話題に上る"good"と"nice"の違いについてお話しします。
両者はほとんど同じ意味と考えても差し支えはないのですが、微妙にニュアンスが違います。
例えば、"Have a good day."(良い一日をお過ごし下さい。)と"Have a nice day."(素敵な一日をお過ごし下さい。)は、どちらを使ってもほとんど差はありませんが、"He is a good man."と"He is a nice man."ではかなり印象が変わってきます。
"good"は「質の良い・優秀な」、"nice"は「親切な・好感の持てる」というニュアンスを含みますから、私たちが「彼はいい人ね。」と言う時には"He is a nice man."の方がふさわしいことになります。【そういえば「ナイスガイ("nice guy")」はシニア世代には有名な流行語でしたね。】
同じように、"It's a good shirt!"は「質の良い上等なシャツ」、"It's a nice shirt!"は「素敵でオシャレなシャツ」となります。
カタい説明をするなら、"good"は「客観的に見て良いと評価できる」感じ、"nice"は「主観的に見て印象が良い」感じでしょうか。