private 関数は、引数チェックもしない。
自分で作って、自分で使うだけだから

一方、public 関数は、関数の入り口で、引数チェックをして、エラー処理する。
これは、自分が作って、他社・他人が使うから、想定外の引数が渡される場合があるから

でも、public関数でも、自分だけが使うのなら、そんなに厳密なエラー処理もいらない