<<演算子をオーバーロードするさいにfriend関数を用いる必要があるのでしょうか?